注:部分内容来自书籍或者网络,如有侵权,请联系删除。
方法一:
socket模块为操作系统socket连接提供了一个Python接口。socket模块有一个socket函数,我们可以给socket函数传递参数,从而创建不同网络协议的socket对象。
#!/usr/bin/python
from __future__ import print_function
from socket import *
def conn_scan(host,port):
conn = socket(AF_INET,SOCK_STREAM)
try:
conn.connect((host,port))
print(host,port,'is avaliable')
except Exception as e:
print(host,port,'is not avaliable')
finally:
conn.close()
def main():
host = '192.168.3.72'
for port in range(20,1000):
conn_scan(host,port)
if __name__ == '__main__'
main()
方法二:
使用Python的telnet模块,该模块有一个Telnet类,该类的对象表示一个telnet连接,创建一个对象并不会建立到远程主机的连接,需要使用open方法简历连接,open方法接受三个参数,主机名,端口号,超时时间。
#!/usr/bin/python
from __future__ import print_function
import telnetlib
def conn_scan(host,port):
conn = telnetlib.Telnet()
try:
conn.open(host,port,timeout=1)
print(host,port,'is avaliable')
except Exception as e:
print(host,port,'is not avaliable')
finally:
conn.close()
def main():
host = '192.168.3.72'
for port in range(20,1000):
conn_scan(host,port)
if __name__ == '__main__':
main()
根据实际测试效果,方法二响应效率更高。
「 文章如果对你有帮助,请点个赞哦^^ 」 
0
若无特殊注明,文章均为本站原创或整理发布。
转载请注明本文地址:https://om.fangxiaoxiong.com/2887.html