使用tcpdump从命令行读取捕获的数据包

时间:2013-02-13 06:07:26

标签: shell tcpdump ipsec

我正在使用以下方式捕获流量:

 tcpdump -i <interface> -nn  -s0 -w ike2.pcap

然后我使用以下方式阅读捕获的文件:

tcpdump  -vvv -l -r ike2.pcap

在阅读时,第一个数据包显示为:

07:22:33.320142 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF], length: 296) 10.0.0.1.isakmp > 10.0.0.2.isakmp: [udp sum ok] isakmp 2.0 msgid  cookie ->: phase 1 I #34[]:
    (#33)
    (#34)
    (#40)
    (#41)
    (#41)

我需要获取此数据包的详细信息。在这个ISAKMP IKEv2数据包中,我有兴趣提取“加密算法”和“完整性算法”的值(即'ENCR_3DES'和'AUTH_HMAC_MD5_96')

如果我在wireshark中检查数据包,我可以查看这些值。但是,我必须从shell脚本执行此操作,因此我无法使用wireshark。我需要从tcpdump read命令本身获取这些值。

我假设可能有某种方法来打印tcpdump read命令使用的加密和完整性算法。你能帮忙搞清楚吗?

捕获的数据包:

captured packet

3 个答案:

答案 0 :(得分:1)

可以找到按照预期的方式只使用 tcpdump ,但有@ user862787表示使用tshark:

# tshark -V -r somecapfile.pcap
Frame 1: 196 bytes on wire (1568 bits), 196 bytes captured (1568 bits)
Encapsulation type: Linux cooked-mode capture (25)
Arrival Time: May 10, 2017 02:00:34.811347000 CDT
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1494399634.811347000 seconds
[Time delta from previous captured frame: 0.000000000 seconds]
[Time delta from previous displayed frame: 0.000000000 seconds]
[Time since reference or first frame: 0.000000000 seconds]
Frame Number: 1
Frame Length: 196 bytes (1568 bits)
Capture Length: 196 bytes (1568 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: sll:ethertype:ip:sctp:m3ua:sccp:tcap:gsm_map]

-V做你想要的!

答案 1 :(得分:0)

  

如果我在wireshark中检查数据包,我可以查看这些值。但是,我必须从shell脚本执行此操作,因此我无法使用wireshark。

但你也许可以使用TShark。

答案 2 :(得分:0)

带有其他标志(例如-X)的tcpdump -r文件。