我有一个Python项目,我需要将简单的TCP SYN消息发送到IPv6地址并使用原始套接字.我的脚本可以无误地执行,但没有发送syn包.我在我的脚本中不确定IPv6标头,TCP标头或IPv6原始套接字出错了.网络配置为IPv6,因此可以排除网络问题.
这是我的脚本,我在RHEL 5上使用Python 2.4:
import socket, sys
from struct import *
# checksum functions needed for calculation checksum
def checksum(msg):
s = 0
# loop taking 2 characters at a time
for i in range(0, len(msg), 2):
w = (ord(msg[i]) << 8) + (ord(msg[i+1]) )
s = s + w
s = (s>>16) + (s & 0xffff);
s = ~s & 0xffff
return s
def init_tcp_syn_packet_v6(source_port,dest_port, source_ip, dest_ip):
packet = '';
# ip header fields
version = 6 #4 …Run Code Online (Sandbox Code Playgroud)