首页 > 解决方案 > python3中的端口扫描器

问题描述

我正在学习用python3编程,我已经学习了一个月,所以我决定尝试python的socket模块并制作一个端口扫描器。

import socket
host = input("Host: ")
port = int(input("Port: "))
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
    s.connect((host, port))
except:
    print(str(port) + " isnt open")
else: 
    print(str(port) + " is open")

代码的问题是端口永远不会打开,即使是最常见的端口,如 80 或 443。所以我请求你们帮助我修复最终的错误。

标签: python-3.xsockets

解决方案


我认为另一个错误正在发生。您是否尝试过在except块内打印异常?

import socket
host = input("Host: ")
port = int(input("Port: "))
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
    s.connect((host, port))
except Exception as err:
    print(str(port) + " isnt open")
    print(err.args) #for debugging
else: 
    print(str(port) + " is open")

这会让你看到实际的错误。


推荐阅读