【问题标题】:Socket is Showing All Ports closed套接字显示所有端口已关闭
【发布时间】:2021-01-30 21:08:38
【问题描述】:

我试图通过套接字扫描端口,但它显示所有端口都已关闭。这是我的代码:

import socket

sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host = input(" Please Input Ip address To Scan ")
#port = input(" ENter The Port ")
def portscanner(host):
    for port in range(1,150):
        if sock.connect_ex((host,int(port))):
            print(f"{port} Is Closed")
        else:
            print("port is open")
    
portscanner(host)

【问题讨论】:

    标签: python sockets port


    【解决方案1】:

    尝试在 forloop 中创建一个连接。并确保输入的格式有效。 您可以使用 尝试在 sock.connect_ex 附近捕获以检查您是否实际发送了有效的主机。

    为了让事情变得更快,你也可以在 for 循环中使用 settimeout(0.25)。

    我本来打算这样做的-

    for port in range(start, end):
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            sock.settimeout(.25)
            result = sock.connect_ex((host, port))
            if result == 0:
                print(port,'port is open')
     
            sock.close()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-09
      • 2015-09-16
      • 2020-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多