python使用nmap端口扫描的两种方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python使用nmap端口扫描的两种方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2559字,纯文字阅读大概需要4分钟。
内容图文
![python使用nmap端口扫描的两种方法](/upload/InfoBanner/zyjiaocheng/428/3052a7cac129469eb8c986eaf417fa2f.jpg)
Firstly: sudo apt-get install nmap
Secondly:pip install python-nmap
Thirdly:copy the code bellow to a file like scan_network.py
#!/usr/bin/env python import nmap import optparse def nmapScan(tgtHost,tgtPort): nmScan = nmap.PortScanner() nmScan.scan(tgtHost,tgtPort) state=nmScan[tgtHost]['tcp'][int(tgtPort)]['state'] print ("[*] " + tgtHost + " tcp/"+tgtPort +" "+state) 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='string', help='specify target port[s] separated by comma') (options, args) = parser.parse_args() tgtHost = options.tgtHost tgtPorts = str(options.tgtPort).split(',') if (tgtHost == None) | (tgtPorts[0] == None): print (parser.usage) exit(0) for tgtPort in tgtPorts: nmapScan(tgtHost, tgtPort) if name == 'main': main
Forthly:chmod +x scan_network.py
fifthly: ./scan_network.py -H 192.168.1.1 -p 22,23
第二版:支持以逗号分割及以-分割的端口范围
#!/usr/bin/env python import nmap import optparse def nmapScan(tgtHost,tgtPort): nmScan = nmap.PortScanner() nmScan.scan(tgtHost,tgtPort) state=nmScan[tgtHost]['tcp'][int(tgtPort)]['state'] print ("[*] " + tgtHost + " tcp/"+tgtPort +" "+state) 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='string', help='specify target port[s] separated by comma') (options, args) = parser.parse_args() tgtHost = options.tgtHost ######this code bellow is to support scan port range like 66-88 tgtPorts = [] tgtPorts_cache = str(options.tgtPort).split(',') i = int(len(tgtPorts_cache)) for m in range( 0,i ): tgtPorts_split = str(tgtPorts_cache[m]).split('-') if(len(tgtPorts_split) < 2): tgtPorts.extend(tgtPorts_split) #print(tgtPorts) else: for n in range(int(tgtPorts_split[0]),int(tgtPorts_split[1])+1): tgtPorts.append(str(n)) #print(tgtPorts) ######above the tgtPorts are the ports list you want to scann #tgtPorts = str(options.tgtPort).split(',') if (tgtHost == None) | (tgtPorts[0] == None): print (parser.usage) exit(0) for tgtPort in tgtPorts: nmapScan(tgtHost, tgtPort) if name == 'main': main()
以上就是python使用nmap端口扫描的两种方法的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的python使用nmap端口扫描的两种方法全部内容,希望文章能够帮你解决python使用nmap端口扫描的两种方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。