TCP连接的时候遇到的异常(目标端口没开放)
import asyncio
async def check_port(ip, port, timeout=1):
"""
检查目标 IP 和端口是否开放
:param ip: 目标 IP 地址
:param port: 目标端口
:param timeout: 超时时间(秒)
"""
try:
reader, writer = await asyncio.open_connection(ip, port, limit=1024)
print(f"Host {ip} Port {port} is OPEN")
writer.close()
await writer.wait_closed()
return ip, port, True
except Exception as e:
print(f"Error scanning {ip}:{port} - {e}")
return ip, port, False
if __name__ == '__main__':
asyncio.run(check_port('10.200.0.10', 8080))
运行这段代码后,有2种情况【我在windows 11电脑尝试的】
1. 发送第一个SYN后没收到回复,隔时间 1s , 2s , 4s, 8s 重新发送4个SYN, 如果都失败,结束
可能原因:主机的端口被防火墙屏蔽(这个时候开不开该端口都一样)
2. 发送第一个SYN后目标主机直接返回RST, 拒绝连接,一共发送5组这样的来回,结束
可能原因:主机的端口没被防火墙屏蔽,但是上面没有运行任何服务
原文地址:https://blog.csdn.net/unforgetablebaby/article/details/144317456
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!