python实现多线程扫描端口
时间: 2023-11-27 07:47:14 浏览: 102
以下是Python实现多线程扫描端口的示例代码:
```python
import socket
import threading
# 定义扫描函数
def scan_port(ip, port):
try:
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置超时时间
s.settimeout(1)
# 连接目标主机
s.connect((ip, port))
# 输出开放的端口号
print('[+] %d/tcp open' % port)
except:
pass
finally:
# 关闭socket连接
s.close()
# 定义扫描端口的函数
def scan(ip, ports):
# 遍历端口列表
for port in ports:
# 创建线程
t = threading.Thread(target=scan_port, args=(ip, port))
# 启动线程
t.start()
# 主函数
if __name__ == '__main__':
# 定义目标主机IP地址
ip = '127.0.0.1'
# 定义端口列表
ports = [21, 22, 23, 25, 80, 443, 3306, 3389]
# 调用扫描函数
scan(ip, ports)
```
阅读全文