Python Port Scanner表示所有端口都已关闭

时间:2015-06-29 22:55:56

标签: python sockets

我在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)

1 个答案:

答案 0 :(得分:0)

你需要连接到你传递给构造函数的ip: 而不是:

 s.connect((ip, i))

尝试:

 s.connect((self.ip, i))

希望有所帮助!