德华的神兜兜 2022-01-18 14:05 采纳率: 50%
浏览 23
已结题

python 抓的UDP数据与实际不符

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

python 抓出来的结果 用socket 或 scapy抓的结果一致

>>> pkts[0]
<Ether  dst=f8:e4:3b:6d:08:86 src=00:0a:35:01:fe:c0 type=IPv4 |<IP  version=4 ihl=5 tos=0x0 len=60 id=9 flags=DF frag=0 ttl=128 proto=udp chksum=0xb752 src=192.168.0.2 dst=192.168.0.3 |<UDP  sport=8080 dport=32896 len=40 chksum=0x0 |<Raw  load='\\xff\\xe5\\xa0;\\xff\\xed\\xb0Y\\xff\\xe5\\xa0;\\xff\\xed\\xb0Y\\xff\\xe5\\xa0:\\xff\\xed\\xb0X\\xff\\xe5\\xa0;\\xff\\xed\\xb0X'

用wireshark抓取的结果

Frame 5827: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface \Device\NPF_{7FDA44A8-BF66-4BAA-9A2B-68B6690128E1}, id 0
Ethernet II, Src: Xilinx_01:fe:c0 (00:0a:35:01:fe:c0), Dst: ASIXElec_6d:08:86 (f8:e4:3b:6d:08:86)
Internet Protocol Version 4, Src: 192.168.0.2, Dst: 192.168.0.3
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 60
    Identification: 0x00ac (172)
    Flags: 0x40, Don't fragment
    ...0 0000 0000 0000 = Fragment Offset: 0
    Time to Live: 128
    Protocol: UDP (17)
    Header Checksum: 0x95af [validation disabled]
    [Header checksum status: Unverified]
    Source Address: 192.168.0.2
    Destination Address: 192.168.0.3
User Datagram Protocol, Src Port: 8080, Dst Port: 32896
    Source Port: 8080
    Destination Port: 32896
    Length: 40
    Checksum: 0x0000 [zero-value ignored]
    [Stream index: 0]
    [Timestamps]
    UDP payload (32 bytes)
Data (32 bytes)
    Data: ffe5a03affedac56ffe5a03affedac58ffe5a03bffedac59ffe5a03bffedac57
    [Length: 32]
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

运行结果及报错内容

python 抓出来的数据,len=40,去掉UDP head ,应该是32个byte,但只有24个byte的数据。

我的解答思路 和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 德华的神兜兜 2022-01-19 14:20
    关注

    load='\xff\xe5\xa0;\xff\xed\xb0Y\xff\xe5\xa0;\xff\xed\xb0Y\xff\xe5\xa0:\xff\xed\xb0X\xff\xe5\xa0;\xff\xed\xb0X'
    收到的数据是ASICII码,小于0x7f的会被翻译成缩写符(:/;/V/Y/W等),大于0x7f的会被保留

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月27日
  • 已采纳回答 1月19日
  • 创建了问题 1月18日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改