我正在用python编写一个有点非典型的traceroute应用程序。我有兴趣计算一个包到达目的地之前的跳跃次数。诀窍是我只对单个传出包进行探测感兴趣。我相信我可以对IPv4选项字段进行一些修改来实现这一点。RFC 1393讨论我认为我想要实现的内容。在
这个问题来自于我用来配置输出套接字的setsockopt
函数,该函数用于配置我想要的IPv4报头。在
我能想到的最好办法是:
outputsocket.setsockopt(socket.IPPROTO_IP, socket.IP_OPTIONS, \
'\x82\x0A\x00\x00\x00\x00\x00\x00\x12\x34\x56\x78')
(字节字符串来自RFC 1393的2.2节)
然而,这给了我socket.error: [Errorno 22] Invalid argument
我能做些什么来让这工作成功?如果我的方法很混乱,我就不会完全适应python或使用原始套接字。在
目前没有回答
相关问题 更多 >
编程相关推荐