本文实例讲述了python实现的对本地host127.0.0.1主机进行扫描端口功能。分享给大家供大家参考,具体如下:
前面一篇《python ip端口扫描工具类》详细介绍了端口扫描功能,这里分析一下针对本地localhost端口扫描的方法。
具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#!/usr/local/bin/python
#-*- coding: utf-8 -*-
#端口扫描器
import socket
import thread
import time
socket.setdefaulttimeout( 3 ) #设置了全局默认超时时间
def socket_port(ip,port): #扫描开放端口
try :
if port> = 65535 :
print u "端口扫描结束0-65535"
s = socket.socket(socket.af_inet, socket.sock_stream)
#s.settimeout(float(1)) #延时5s
#s.connect((ip,port))
result = s.connect_ex((ip,port))
if (result = = 0 ):
print ip,u ":" ,port,u "端口开放"
s.close()
except :
print u "扫描端口异常2"
def ip__port(data): #扫描端口
try :
#data="127.0.0.1"
t = time.time()
for i in range ( 0 , 1000 + 1 ): #65535
thread.start_new_thread(socket_port,(data, int (i)))
time.sleep( 0.003 ) #确保先运行seeker中的方法
print u '扫描端口完成用时 time:%f' % (time.time() - t)
except :
print u "扫描端口异常1"
if __name__ = = '__main__' :
#socket_port("127.0.0.1",21) #扫描开放端口
ip__port( "127.0.0.1" ) #多线程
|
运行结果如下:
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/xwbk12/article/details/71439951