python-3.x - 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。所以我请求你们帮助我修复最终的错误。
解决方案
我认为另一个错误正在发生。您是否尝试过在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")
这会让你看到实际的错误。
推荐阅读
- ios - SpriteKit 以定义的角度停止旋转轮子
- r - 避免在 R 中编写冗长的 if-else 语句
- autodesk-forge - RVT 3D 视图中的嵌入式 DWG 在 Forge Viewer 中无法正确显示
- javascript - 如何格式化我的 SQL 输出以匹配我的 GraphQL 类型?
- .net - 是否有调整面板和视频大小以进行播放的技巧
- r - R数据表行减法
- meteor - Meteor - 试图在帮助程序中返回构建的 URL,返回空白?
- service - 无法使用 Python gtfs_realtime_pb2 模块获取服务警报 Protobuff 以包含 header_text 或 description_text
- python - Tkinter - 尽管保持全局参考,图像不会显示在按钮上
- android - 调用 wit.ai API 时 Android Volley 请求失败