【发布时间】:2017-12-01 04:13:52
【问题描述】:
我正在尝试使用套接字库创建一个端口扫描器(使用 SYN 数据包)(是的,我知道 scapy 会使这变得更容易,但我主要是为了学习练习。)我已经制作了数据包并成功发送它,但是我在接收和解析后续响应时遇到了麻烦。
到目前为止,我已经尝试过 s.recv(1024) 和 4096,以及 recvfrom()。
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW)
s.sendto(packet, (dstip, 80))
r = s.recv(1024)
print(r)
但是,我在接收响应时遇到问题,我可以看到数据包正在通过 Wireshark 正确发送,并且 SYN-ACK 已发送到我的机器,但是我无法正确接收和打印它。有没有更好的方法可以将s.recv() 函数用于此类输入?还是我使用了错误的功能?
任何帮助表示赞赏,我是套接字库的新手。谢谢。
【问题讨论】:
标签: python sockets networking network-programming raw-sockets