繁体   English   中英

Python 端口扫描器未显示打开的端口

[英]Python Port Scanner Not Showing Open Ports

我正在关注 Python tut 编写端口扫描器,它运行,但它似乎跳过了理论上应该打开的端口。 我正在运行 web 浏览器,因此端口 80 应该已启动,但是当我针对我的网络运行它时,它只是跳过了它。 还针对 443 进行了尝试,但也没有显示任何 HTTPS 端口。

import sys #allows us to enter cmd line arguments & other things
import socket #Sockets and the socket API are used to send messages across a network. They provide a form of inter-process communication (IPC).
from datetime import datetime
#next we need to define our target
if len(sys.argv) == 2:
    target = socket.gethostbyname(sys.argv[1])   #translate host name to IPV4
else:
    print (“invald amt of arguments.”)
    print (“syntax: python3 scanner.py <ip>”)
    sys.exit()
#add a pretty banner
print (“-” * 50)
print (“scanning target” + target)
print(“Time started: “ +str(datetime.now()))
print (“-” * 50)
try:
    for port in range (50,85):
        s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
        socket.setdefaulttimeout(1) #is a float
        result = s.connect_ex((target,port)) #returns error indicator
        print ((“checking port {}”).format(port)) #returns error indicator
        if result ==0:
        print (“port {} is open”.format(port))
        s.close()
except KeyboardInterrupt:
    (“\Exiting Program”)
    sys.exit()
except socket.gaierror:
    print (“host name could not be resolved”)
    sys.exit()
except socket.error:
    print (“could not connect to server”)
    sys.exit()**

如果您用直引号替换所有智能引号,在 for 循环内缩进 if 语句的 TRUE 块并删除异常处理程序中的转义字符(“\”),那么您的代码运行良好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM