Python编写nmap扫描工具
如果有更好的建议或者想看更多关于综合百科技术大全及相关资讯,可以多多关注茶馆百科网。

Python编写了nmap扫描工具,智伯。com带你了解更多。
NMAP是一款开源的网络检测和安全审计工具,可以快速扫描服务器暴露的端口信息。是安全测试领域中非常常见的工具。
今天我们用python模拟实现一个简单版的端口扫描工具,主要使用socket模块。socket模块提供了两个方法,connect()和connect_ex(),其中connect_ex()方法有一个返回值,返回值是一个int类型的数字,表示连接是否成功,0表示连接成功,其他数字表示有异常。【Python编写nmap扫描工具】定义连接(自身,地址:联合[_地址,字节])-无:defconnect_ex(self,address:Union[_Address,bytes])-int:
第一版:
def scan _ tools _ v1(self): host=input('请输入服务器ip地址:')port=int(input('请输入扫描端口3360 '))sk=socket . socket()sk . settimeout(0.1)。conn _ result=sk . connect _ ex((host,port))if conn _ result==03360 print('服务器{}的{}端口已打开'format (host,port)) else 3360print('服务器{}的{}端口未打开'格式。
运行结果:d : \ software \ python \ python 39 \ python . exed :/myscripts/study _ srrips/socker tools/nmap _ tools . py。
请输入服务器ip地址:8.129.162.225。
请输入端口:8080进行扫描。
8.129.162.225服务器的8080端口已经打开缺点:
1.一次只能扫描一个端口。
第二版:(支持扫描多个界面)
def scan _ tools _ v2(self): host=input('请输入服务器ip地址:')ports=input('请输入要扫描的端口范围,格式为0-655363360') port _ start,port _ end=ports . split('-')count=0 for portin range(Int(port _ start),Int (port _ end) 1) :SK=socket。套接字()sk。Settimeout (0.1) conn _ result=sk。connect _ ex ((host,port))if conn _ result==03360 print('服务器{}的{}端口已经打开'port))count=1sk . close()if count==03360 print(f '服务器{host}的{ports}端口未打开')。
输出结果只输出已经打开的端口信息。如果输入端口范围内的端口都没有打开,则直接输出端口没有打开。
总结:
1.以上只是简单的版本。如果扫描服务器的全端口,时间会比较长,然后可以考虑使用多线程技术进行优化。
2.代码没有检查过异常输入,所以可以优化。
3.注意,ip是字符串类型,port是int类型。socket对象初始化要放入循环中,并设置超时,否则默认连接需要很长时间才能返回结果。
这里是这篇关于Python写nmap扫描工具的文章的结尾。关于Pythonnmap扫描工具的更多信息,请搜索感兴趣的文章或继续浏览以下相关文章。希望大家以后多多支持有意思的文章!
本文主要介绍了关于Python编写nmap扫描工具的相关养殖或种植技术,综合百科栏目还介绍了该行业生产经营方式及经营管理,关注综合百科发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解综合百科技术怎么管理的要点,是您综合百科致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://23.234.50.4:8411/article/1356382.html