我在python编程方面技术娴熟,而且我正在尝试制作端口扫描程序 不使用任何第三方库。下面是我到目前为止编写的代码,但问题是,当我扫描笔记本电脑的IP地址时,它表示所有端口都已关闭。我的代码有问题或所有端口实际关闭(如果是,为什么?)。任何帮助将不胜感激,谢谢。
from socket import *
class scanner():
def __init__(self, ip):
self.ip = ip
self.scan()
def scan(self):
print("Starting scan on host: %s "%(self.ip))
for i in range(0, 10000):
s = socket(AF_INET, SOCK_STREAM)
try:
s.connect((ip, i))
print('Port %d: OPEN' % (i))
s.close()
except:
print('Port %d: CLOSED' % (i))
s.close()
ip = input("Input IP address to scan: ")
scanner(ip)
答案 0 :(得分:0)
你需要连接到你传递给构造函数的ip: 而不是:
s.connect((ip, i))
尝试:
s.connect((self.ip, i))
希望有所帮助!