我可以使用什么工具来计算pcap文件中TCP和UDP连接的数量?
对于TCP连接,您可以通过计算SYN-ACK数据包来获得相当好的近似值。
tcpdump -nr trace.pcap 'tcp[tcpflags] & (tcp-syn|tcp-ack) = (tcp-syn|tcp-ack)' | wc -l
对于UDP而言,不存在连接这样的事情,所以您首先必须定义,您要计算什么。 您可以计算文件中存在多less个不同的源和目标。 这条命令会分别对每个方向的数据包进行计数,所以如果每个“连接”都在两个方向上发送数据包,则必须除以2。
tcpdump -nr trace.pcap 'udp' | cut -f2-5 -d' ' | sort -u | wc -l
如果您更喜欢基于GUI的工具,Wireshark可以分析TCP连接。 它为每个在文件中find的TCP连接分配一个数字,所以你可以滚动到文件的底部,查看最后一个连接分配了多less个数字。 (您可能必须检查多个连接,如果它们重叠,并且在来自编号最高的连接的最后一个数据包之后继续进行其他连接)。
Wireshark可以通过统计→对话来完成。 TShark可以通过-q -z conv,tcp -r /path/to/capture.pcap和-q -z conv,udp -r /path/to/capture.pcap 。 Ntop也应该能够做到这一点。