Sockets 使用套接字,我可以';t检查每个端口上运行的服务/软件

Sockets 使用套接字,我可以';t检查每个端口上运行的服务/软件,sockets,networking,virtual-machine,Sockets,Networking,Virtual Machine,所以我一直在尝试许多不同的网站,扫描它们。到目前为止,我无法在scan\u port函数中获得嵌套的try。我使用get_banner功能的那一个。不确定我的代码是否有问题,或者该端口上是否没有运行的服务/应用程序。我看了一遍又一遍的教程,逐字逐句地复制代码,结果还是一样的 我得出的结论是,要么这些端口上没有运行任何应用程序/软件,要么我的代码是错误的。到目前为止,我扫描的网站如下: youtube.com facebook.com 谷歌网站 itsecgames.com testphp.vun

所以我一直在尝试许多不同的网站,扫描它们。到目前为止,我无法在
scan\u port
函数中获得嵌套的try。我使用
get_banner
功能的那一个。不确定我的代码是否有问题,或者该端口上是否没有运行的服务/应用程序。我看了一遍又一遍的教程,逐字逐句地复制代码,结果还是一样的

我得出的结论是,要么这些端口上没有运行任何应用程序/软件,要么我的代码是错误的。到目前为止,我扫描的网站如下:

  • youtube.com
  • facebook.com
  • 谷歌网站
  • itsecgames.com
  • testphp.vunweb.com
  • 到目前为止,他们都没有成功。我还尝试删除
    try/except
    块,甚至是嵌套的块,以尝试获得一个错误,看看问题出在哪里。但它不起作用,因为我设置了一个超时。我甚至尝试过,使用教程中显示的完全相同的网站,并将其缩小到具有
    横幅
    输出的端口,只扫描具有输出的端口,但仍然没有输出。我想知道我的代码是否有问题

    如果有必要的话,我会在Jupyter笔记本和Kali虚拟机中编写这段代码

    import socket
    from IPy import IP
    
    def get_banner(s):
        return s.recv(1024)
    
    def scan_port(address, port):
        try:
            sock = socket.socket()
            sock.settimeout(0.5)
            sock.connect((address, port))
            try:
                banner = get_banner(sock)
                print(f"[+] Port{port} is open: {banner}")
            except:
                print(f"[+] Port{port} is open.")
                
        except:
            pass
    
    def dti(domain):
        try:
            IP(domain)
            return domain
        except ValueError:
            return socket.gethostbyname(domain)
        
    def scan_multiple(target):
        address = dti(target)
        print(f"\n[~] Currently scanning: {target}")
        for port in range(1, 101):
            scan_port(address, port)
    
    print("If you have multiple targets, separate them with ','")
    target = input("Target(s): ")
    
    if "," in target:
        targets = list()
        targets = target.split(", ")
        
        for target in targets:
            scan_multiple(target)
            
    else:
        scan_multiple(target)