带原始套接字的python套接字setsockopt
只需使用pythonsocketraw发送tcp_-syn。我遵循代码,但当我运行代码时,我发现以下错误:带原始套接字的python套接字setsockopt,python,sockets,tcp,Python,Sockets,Tcp,只需使用pythonsocketraw发送tcp_-syn。我遵循代码,但当我运行代码时,我发现以下错误: 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:
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
代码运行平稳。不幸的是,正如您所想象的,wireshark嗅探两个tcp头数据。一个是内核添加,另一个是我自己添加
因此,问题是:
提前非常感谢~~~~~~让我回答我自己的问题。python无法发送原始套接字的主要原因是Mac/Windows不支持自定义TCP/UDP头。如果您想编写自己的tcp/udp报头并将其发送到网络,请使用LINUX操作系统
#s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)