Uniq wireshark 中的特定字段
Uniq a specific field in wireshark
假设我捕获了以下数据包:
- DNS 响应答案:192.168.14.258
- DNS response Answer: 192.168.14.258, 15.36.88.1 (有时一个dns respone会返回多个IP)
- DNS 响应答案:192.168.14.258
- DNS 响应答案:15.36.88.1
如何对它进行 uniq?我想得到以下结果:
- 192.168.14.258
- 15.36.88.1
这对我来说是全新的,所以请尽可能解释你的答案。
感谢帮手
下面应该可以解决问题(如果您只需要 IPv4 地址):
tshark -r input.pcap -Y dns.a -T fields -e dns.a | grep -Po "\d+\.\d+\.\d+\.\d+" | sort -u
说明
-Y dns.a
到 select 只有具有 DNS A 记录的数据包。
-T fields -e dns.a
显示DNS A记录的地址字段。
- tshark 命令将输出每个数据包的地址列表。
grep -Po "\d+\.\d+\.\d+\.\d+"
将提取每个 IP,每个都在一个新行上。
| sort -u
排序并从 grep
命令的输出中删除重复项。
假设我捕获了以下数据包:
- DNS 响应答案:192.168.14.258
- DNS response Answer: 192.168.14.258, 15.36.88.1 (有时一个dns respone会返回多个IP)
- DNS 响应答案:192.168.14.258
- DNS 响应答案:15.36.88.1
如何对它进行 uniq?我想得到以下结果:
- 192.168.14.258
- 15.36.88.1
这对我来说是全新的,所以请尽可能解释你的答案。
感谢帮手
下面应该可以解决问题(如果您只需要 IPv4 地址):
tshark -r input.pcap -Y dns.a -T fields -e dns.a | grep -Po "\d+\.\d+\.\d+\.\d+" | sort -u
说明
-Y dns.a
到 select 只有具有 DNS A 记录的数据包。-T fields -e dns.a
显示DNS A记录的地址字段。- tshark 命令将输出每个数据包的地址列表。
grep -Po "\d+\.\d+\.\d+\.\d+"
将提取每个 IP,每个都在一个新行上。 | sort -u
排序并从grep
命令的输出中删除重复项。