我正在尝试将单字节0x00添加为' urgent'数据到TCP数据包。
如果我理解正确,我需要在数据包中设置URG
标志,
并将紧急指针更改为1。
如果我弄错了,请解释在哪里以及为什么。
所以,如果我有packet = IP()/TCP()
packet.flags=0x8
(设置URG标志)
packet.urgptr=1
(设置紧急指针)
packet.payload.payload = 0x00
(添加数据)
这是我需要的还是我错过了什么?
非常感谢!
答案 0 :(得分:2)
packet.flags = 0x8
将在IP标头中设置flags选项,而不是TCP标头。您需要执行
packet.getlayer(TCP).flags = 32 # or 0x20
设置TCP标头的URG标志。
至于测试这个,我假设packet.show()是不够的?您需要这个“紧急”数据包做什么?