使用 Python 进行网络端口扫描
”或“localhost”作为目标地址。
首先,需要导入socket模块。
import socket
接下来,定义一个扫描函数,该函数接收一个IP地址和一个端口号作为参数,使用socket模块的connect_ex方法连接指定的IP地址和端口号,如果连接成功,则说明该端口开放,返回True;如果连接失败,则说明该端口关闭或被过滤,返回False。
def scan(ip, port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(1) result = s.connect_ex((ip, port)) s.close() if result == 0: return True else: return False
使用该函数进行端口扫描时,可以循环调用该函数,传递不同的端口号,判断端口是否开放。
ip = "pidancode.com" for port in range(1, 10000): if scan(ip, port): print("Port", port, "is open")
完整代码:
import socket def scan(ip, port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(1) result = s.connect_ex((ip, port)) s.close() if result == 0: return True else: return False ip = "pidancode.com" for port in range(1, 10000): if scan(ip, port): print("Port", port, "is open")
相关文章