只需使用python socket raw发送tcp_syn。我遵循代码Django docs,但是当我运行代码时,我得到了以下错误:
Traceback (most recent call last):
File "findPort.py", line 122, in <module>
s.sendto(packet, (dest_ip , 27015 )) # put this in a loop if you want to flood the target
socket.error: [Errno 22] Invalid argument
但是,当我删除setsockopt:
时#s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
代码运行顺利。不幸的是,因为你可以成像,wireshark会嗅探两个tcp头数据。一个是内核添加另一个是我自己添加。
所以问题是:
非常感谢提前~~~~~~
答案 0 :(得分:0)
让我回答我自己的问题。 python无法发送原始套接字的主要原因是因为Mac / Windows不支持自定义TCP / UDP标头。如果你想编写自己的tcp / udp标头并将其发送到网络,请使用LINUX操作系统。