gpt4 book ai didi

python - 使用scapy时如何从数据包中读取整个ip层和tcp层?

转载 作者:可可西里 更新时间:2023-11-01 02:42:44 27 4
gpt4 key购买 nike

我正在使用 scapy 接收 ICMP Destination unreachable (Fragmentation needed ICMP TYPE=3 CODE=4) 消息时进行 TCP 重传行为测试。

测试流程是这样的:
1.与服务器建立TCP连接
2.TCP建立后向服务器发送HTTP GET请求
3. 当HTTP Response返回时
4. 向设置了小 MTU 的服务器发送 ICMP 类型 3 代码 4 消息

问题是 ICMP TYPE=3 CODE=4 消息包含该 HTTP 响应数据包的 IP header 和部分 TCP header (srt、dst 和 seq 编号)。目前,我只是从 HTTP 响应数据包中读取每个参数(如 IP 标识、片段标记、ttl 等)。问题是:有什么方法可以从该数据包中读取整个 IP 和 TCP header :

ICMP(TYPE=3 CODE=4)/IP header /TCP header

最佳答案

希望以下内容对您有所帮助:

>>> pkt = ICMP()/IP()/TCP()
>>> ip_header = pkt.getlayer(IP)
>>> ip_header
<IP frag=0 proto=tcp |<TCP |>>
>>>

仅检索 IP header :

>>> pkt = Ether()/IP()/TCP()
>>> ip = pkt.getlayer(IP)
>>> ip
<IP frag=0 proto=tcp |<TCP |>>
>>> ip.remove_payload()
>>> ip
<IP |>
>>>

关于python - 使用scapy时如何从数据包中读取整个ip层和tcp层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657220/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com