- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
刚刚从 TJ 'O Connor 的“Violent Python”一书中输入了一个横幅抓取器和端口扫描器,我在运行它时没有遇到任何语法错误,但我也没有得到任何输出,有人可以告诉我可能有什么问题吗?用 python 2.6 编写的书籍,我正在使用 2.7,我不知道这是否是问题所在?任何帮助将不胜感激!这本书也有“import socket as Ú”但是有语法错误所以我把它拿出来了,不知道它做了什么
import optparse
import socket
def connScan(tgtHost,tgtPort):
try:
connSkt= socket(AF_INET,SOCK_STREAM)
connSkt.connect((tgtHost,tgtPort))
connSkt.send('Violent Python\r\n')
results= connSkt.recv(1024)
print '[+]%d/tcp open' % tgtPort
print '[+]' + str(results)
connSkt.close()
except:
print '[-]%d/tcp closed' % tgtPort
def portScan(tgtHost,tgtPorts):
try:
tgtIP=gethostbyname(tgtHost)
except:
print "[-] Cannot resolve '%s': Unkonwn host" % tgtHost
return
try:
tgtName= gethostbyaddr(tgtIP)
print '\n[+]Scan results for: ' + tgtIP
setdefaulttimeout(1)
for tgtPort in tgtPorts:
print 'Scanning port ' + tgtPort
connScan(tgtHost,int(tgtPort))
except:
print 'exception granted'
def main():
parser = optparse.OptionParser('usage %prog -h'+'<target host> -p <target port>')
parser.add_option('-h', dest='tgtHost', type='string', help='specify target host')
parser.add_option('-p', dest='tgtPort', type='int', help='specify target port[s] seperated by comma')
(options,args) = parser.parse_args()
tgtHost= options.tgtHost
tgtPorts= str(options.tgtPort).split(',')
if (tgtHost == None)|(tgtPorts[0] == None):
print '[*] You must specify a target host and port[s]'
exit(0)
portScan(tgtHost,tgtPorts)
if __name__=='__main__':
main()
最佳答案
什么都没发生的原因是你的代码完全由函数声明组成。在任何时候你实际上都没有告诉 python 运行任何东西。
这项工作应该由这个 if 语句完成:
if __name__=='__main__':
main()
但是,您错误地缩进了太多,从而使其成为 main()
函数的一部分。为了使代码正常工作,您需要像这样取消缩进:
def main():
parser = optparse.OptionParser('usage %prog -h'+'<target host> -p <target port>')
parser.add_option('-h', dest='tgtHost', type='string', help='specify target host')
parser.add_option('-p', dest='tgtPort', type='int', help='specify target port[s] seperated by comma')
(options,args) = parser.parse_args()
tgtHost= options.tgtHost
tgtPorts= str(options.tgtPort).split(',')
if (tgtHost == None)|(tgtPorts[0] == None):
print '[*] You must specify a target host and port[s]'
exit(0)
portScan(tgtHost,tgtPorts)
if __name__=='__main__': # NOT a part of the main()
main()
至于import socket as Ú
,这一行的目的是导入名为socket
的模块,但给它一个别名,在本例中为Ú
。从那时起,您不再在代码中将其称为 socket
,而是将其称为 Ú
。
关于python - 使用 Python 进行渗透测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46053728/
我是新来的,所以我会尽量使我的帖子清晰易读。 在浏览某些站点的日志时,我遇到了一些我想在封闭服务器中重新创建/测试的黑客攻击尝试。我制作了一个简单的 PHP 网页,它获取一个名为“id”的变量,并且没
我有一个 NSView,它覆盖了其父窗口的内容 View 。该 View 有一个单击事件处理程序,可将其从内容 View 中删除。在这个观点之中,我还有另外一个观点。当我在此内部 View 中拖动鼠标
我正在读取 csv 中的链接并使用它来抓取。我希望 Node 渗透在抓取之间等待,可能是在抓取 10 个站点之后。我尝试使用 sleep ,但它似乎在错误的时间 sleep ,而下一个站点正在被抓取,
页面部分HTML代码 3 303 eur if (price_json.price != '0') { var price_container = docume
我按如下方式为我的查询编制索引: client.Index(new PercolatedQuery { Id = "std_query", Query = new QueryConta
我有一个使用多个 的表单.它们的位置使得弹出式 CSS 日历应该出现在其他人的字段上。但是,其他日期的文本字段最终位于日历的前面。 这只是一个 IE 问题,因为 Firefox 和 Safari 工
我正在编写一个与外部站点连接的 Electron 应用程序。我发现,cheerio 无法抓取需要登录的网站。所以我现在使用渗透,但它显示以下错误。 (get) 已加载 [get] https://so
我想实现一个Osmosis的任务,我想读取.osm.pbf文件并将其写入数据库: C:\osmosis-latest\bin>osmosis --read-pbf file="C:\sbox\maps
我是一名优秀的程序员,十分优秀!