wireshark从HEX转储导入使用方法

官方资料:

https://www.wireshark.org/docs/wsug_html_chunked/ChIOImportSection.html

方法1:
文本文件,纯内容导入:
ff ff ff ff ff ff 00 00 00 00 5f 0f 08 06 00 01
08 00 06 04 00 01 00 00 00 00 5f 0f 64 01 60 10
00 00 00 00 00 00 64 01 01 01 00 01 02 03 04 05
06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15
16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25
26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35
36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45
46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 10 d4 17 51

offset: 无
封装: ethernet
无虚头部

方法2:
文本文件,带offset导入:
0000   ff ff ff ff ff ff 00 00 00 00 5f 0f 08 06 00 01
0010   08 00 06 04 00 01 00 00 00 00 5f 0f 64 01 60 10
0020   00 00 00 00 00 00 64 01 01 01 00 01 02 03 04 05
0030   06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15
0040   16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25
0050   26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35
0060   36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45
0070   46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 10 d4 17 51

offset: hex
封装: ethernet
无虚头部
 

### 使用 Wireshark 进行抓包并以十六进制形式查看数据 Wireshark 是一款功能强大的网络协议分析工具,能够捕获和解析网络流量。以下是关于如何使用 Wireshark 抓取数据包并将数据显示为十六进制的具体方法。 #### 启动 Wireshark 并开始抓包 启动 Wireshark 后,在界面左侧会列出可用的网络接口设备。选择目标网络接口(例如 Ethernet 或 Wi-Fi),点击“Start Capturing Packets”按钮来开始抓包过程[^1]。 #### 停止抓包并筛选特定数据包 当完成抓包后,可以停止捕获操作并通过应用过滤器缩小关注范围。对于 MAC 地址前三个字节匹配的情况,可输入如下显示过滤器表达式 `eth.addr[0:3]==00:1e:4f` 来查找符合条件的数据包[^3]。 #### 转至十六进制视图 为了更深入地分析某个具体数据包的内容,可以在“Packet List”面板右键单击该数据包,并通过菜单选项切换到详细的十六进制表示方式[^2]。这一步骤允许用户看到原始帧中的每一个字节及其对应的 ASCII 解码值。 #### 创建自定义十六进制转储文件 (pcap) 如果已经拥有一串十六进制字符串并且希望将其转化为可在 Wireshark 中打开的标准 pcap 文件,则需按照指定格式准备这些数据——每两字符一组代表一个字节,组间留有空格分隔;另外还需注意每一行开头应标明偏移量如 “0000”。之后利用专门脚本或者第三方程序辅助生成最终兼容版本。 ```python # 示例 Python 脚本用于创建简单的 PCAP 文件结构 import struct def write_pcap_header(f): f.write(struct.pack("<I", 0xa1b2c3d4)) # Magic number f.write(b'\x00\x00') # Major version f.write(b'\x00\x04') # Minor version f.write(b'\x00\x00\x00\x00') # Timezone offset f.write(b'\x00\x00\x00\x00') # Timestamp accuracy f.write(struct.pack("<i", 65535)) # Max length of captured packets f.write(b'\x00\x00\x00\x00') # Data link type with open('output.pcap', 'wb') as f: write_pcap_header(f) timestamp_seconds = int(1234567890).to_bytes(4, byteorder='little') timestamp_microseconds = b'\x00' * 4 packet_length_on_wire = len(hex_data)//2 actual_packet_length_saved = packet_length_on_wire.to_bytes(4,byteorder="little") f.write(timestamp_seconds + timestamp_microseconds + actual_packet_length_saved*2) bytes_from_hex_string = bytearray.fromhex(hex_data.replace(" ","")) f.write(bytes_from_hex_string) ``` 上述代码片段展示了如何构建基本PCAP头部以及写入单一数据包包体的过程。其中涉及到了时间戳、长度字段设置等内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值