padding - 写入 pcap 文件时 Scapy 以太网填充层丢失
问题描述
当我尝试使用 Scapy 修改 IP 标头字段并使用 wrpcap 将修改后的数据包写入 pcap 时,以太网填充层更改为 Raw。
数据包的 show 函数显示 Padding 层:pktn.show()
###[ 填充]### 加载 = '\x00\x00\x00\x00\x00\x00'
但数据包的 show2 函数显示 Raw 层:pktn.show2()
###[原始]###加载='\x00\x00\x00\x00\x00\x00'
知道为什么会这样以及如何保留填充层吗?否则,填充字节被 Wireshark 识别为 TCP 有效负载。
谢谢1
解决方案
好的。在更改标题字段后,我终于发现这行代码导致了问题:
pkt[IP].len = len(pkt['IP'])
我尝试使用此代码将 IP 标头长度分配给新数据包,但似乎它导致了此问题,并且没有此行,IP 标头长度对于新数据包来说很好。我仍然不太明白这背后的原因,但似乎问题已经解决。
谢谢!
推荐阅读
- python - 具有通用理解返回类型的函数取决于输入参数?
- reactjs - 中没有组件
- netbeans - 如何在 Netbeans 8.2 中添加 Glassfish 5.0 服务器
- google-cloud-platform - Google Cloud Platform:gcloud 命令的最低 IAM 权限
- amazon-web-services - 当外包开发者需要访问 AWS EC2 实例时,如何管理它?
- .net - Tcp 套接字未连接
- flutter - 颤振 sqflite 版本在 web 中解决失败
- css - 页脚导航未居中
- python - 如何在seaborn中整理热图?
- angular - 这对于将 Angular 5 升级到 Angular 6 以获得最新版本是否正确?