tshark分析流(wireshark导出大包时有BUG)

本文介绍如何使用Wireshark的follow TCP stream功能及tshark命令,将选定的TCP流导出为bin文件进行字节级对比。尽管导出过程中存在ASCII格式的换行符干扰,但通过合理比较,仍能有效验证数据一致性。

在wireshark中follow tcp stream之后,选择export speified packets导出该stream的全部包到文件。

导出文件配置出下图:

然后用下面的命令导出stream的字节流:

tshark -r t1.pcap -Y usb -z follow,tcp,raw,0  > t1.bin

tshark位于wireshark的安装目录中。

然后就可以用beyond compare的16进制方式比较两边的bin文件

字节有零散出现的0d 0a,这是因为tshark导出的是ascii方式的hex stream,伴随大量换行,不影响比较结果,忽略即可。

### 如何使用 tshark 导出 Wireshark 捕获的数据或特定内容 #### 工具简介 tsharkWireshark 的命令行版本工具,具有强大的数据分析能力。它可以读取 pcap 或 pcapng 格式的捕获文件,并提供多种方式导出其中的内容。无论是完整的数据包还是特定字段,都可以通过设置合适的参数来实现[^1]。 #### 基础用法 以下是几个常见的场景以及对应的 tshark 使用方法: 1. **从已有的捕获文件中提取符合条件的数据包** 如果有一个现有的 `.pcap` 文件,并希望通过某种条件过滤后将其保存为新的文件,则可以如下操作: ```bash tshark -r input.pcap -w output_filtered.pcap -Y "filter_expression" ``` 此处 `-Y` 后接的是显示过滤器 (Display Filter) 表达式,例如 `"http"` 将只匹配 HTTP 量[^2]。 2. **仅导出指定字段至文本格式** 当只需获取某些特定字段而非整套原始帧时,可借助 `-T fields` 参数搭配一系列 `-e field_name` 子选项完成定制化输出: ```bash tshark -r capture_file.pcap -T fields -e ip.src -e tcp.dstport -E header=y -E separator=, > result.csv ``` 上述例子会将源 IP 地址与目标 TCP 端口号以逗号分隔的形式写入 CSV 文件中。注意这里的 `-E` 用于调整输出格式特性[^3]。 3. **转换成 JSON 结构便于程序解析** 若期望结果更加机器友好一些的话,不妨考虑转为 JSON 形态: ```bash tshark -r source_capture.pcap -T json -Y "your_filter_here" > structured_output.json ``` 4. **实时监听并即时处理新到达的数据** 不局限于事后分析静态日志,在线模式同样可行: ```bash tshark -i eth0 -f "udp port 53" -l | awk '{print $NF}' ``` 这里假设监控 DNS 请求 (`eth0` 设定为目标网卡接口名),并通过管道传递给 AWK 提取消息末尾部分作为域名展示[^2]。 #### 实际案例分享 假设有这样一个任务背景——需要从业务系统交互过程中截取出所有 HTTPS GET 方法请求路径及其响应状态码组合起来形成审计列表。那么解决方案可能涉及以下几个步骤: - 应用适当捕获规则收集相关联的 SSL/TLS 加密通信; - 解密密钥加载以便深入理解高层协议细节; - 编写精确筛选逻辑区分所需动作类型; - 定义清晰的目标属性集合准备后期整理入库。 综合以上要点给出完整脚本示意如下所示: ```bash #!/bin/bash INPUT_FILE="encrypted_traffic.pcap" OUTPUT_CSV="audit_records.csv" # Step One: Apply decryption keys if necessary. KEY_LIST=$(cat /path/to/sslkeys.txt) # Step Two: Perform actual extraction work. tshark \ -o ssl.keys_list:"$KEY_LIST" \ -r "$INPUT_FILE" \ -Y 'http.request.method == "GET"' \ -T fields \ -e http.request.full_uri \ -e http.response.code \ -E header=n \ -E quote=d \ > "$OUTPUT_CSV" ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值