❶ Tshark 使用
在网络安全分析中,Tshark 是一个非常强大的工具。它能帮助你分析和解码网络数据包。下面,我们将探讨如何使用Tshark进行一些特定的网络数据处理任务。
首先,若需分割一个大的pcapng文件成多个小文件,可以使用editcap工具,例如,将一个包含100万个数据包的文件分割为split01.pcap。命令为:
其次,合并pcapng文件可以使用mergecap命令,例如将1.pcap和2.pcap合并为merge.pcap:
对于多端口解码,Tshark允许你指定特定的端口和协议进行解码,例如,使用以下命令解码端口3001上的HTTP流量和端口4001上的HTTP2流量,以及端口5001上的jsON流量:
要统计每个TCP流号的使用情况,可以使用以下命令:
对于去重写pcapng文件,基于特定的TCP流号,可以使用以下命令:
在应用层头部过滤,你可以通过指定端口号和协议来过滤,例如以下命令用于提取HTTP2头部路径:
对于应用层body体过滤,可以使用类似命令,但指定内容类型为json,例如以下命令用于提取JSON中指定字段的值:
将特定流号的流合并为json文件,可以使用以下命令:
xx.json>
理解pcapng文件格式对正确使用Tshark至关重要。通过基于TCP流有效地拆分pcap文件,你可以更深入地分析网络流量。例如,以下命令用于提取特定TCP流号的HTTP2头部路径:
<tshark -r pvtb_0.pcapng -d tcp.port==3000,http2 -T fields -e tcp.stream -e http2.headers.path | grep /nnrf | awk '{print $1}' | sort -n | uniq
最后,通过提取特定TCP流号的JSON字段值,你可以进一步分析应用层数据。例如,以下命令用于提取流号1或2的JSON数据:
<tshark -r pvtb_0.pcapng -d tcp.port==3000,http2 -Y " tcp.stream eq 1 || tcp.stream eq 2" -T fields -e tcp.stream -e json.member_with_value | grep -E "," | awk '{print $1}' | sort -n | uniq