F5 Tcpudmp 抓包

tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。

tcpdump支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

一、常用参数

1、-D

要列出可用于数据包捕获的接口,请使用 tcpdump -D

注意:any 接口可以由 0.0表示

# tcpdump -D
1.eth0
2.mgmt
3.tmm
4.vlan_test
5.ha-vlan
6.tmm_bp
7.any (Pseudo-device that captures on all interfaces)
8.lo [Loopback]

2、-i

要捕获特定接口上的流量,请使用 tcpdump -i <接口名称>,即 tcpdump -i 0.0,示例如下:

注意:在捕获时对接口使用 0.0 时,请确保使用捕获筛选器,否则将获得太多信息,并可能影响 F5 的性能。

# tcpdump -i 0.0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on 0.0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:22:32.750177 IP bigip2.com.63463 > 192.168.10.223.syslog: [|syslog] out slot1/tmm0 lis=

(1) :n

:n 提供 wireshark F5 插件低等细节输出,输出示例如下:

# tcpdump -i 0.0:n

image-20220319170951009

  • Ingress : 标记入向或者出向流量。
  • Slot : 处理流量的插槽
  • TMM : 流量处理的 TMM 内核
  • Virtual Server : 处理流量的虚拟服务器名称

(2):nn

:nn 提供 wireshark F5 插件低等和中等细节输出,输出示例如下:

# tcpdump -i 0.0:nn

image-20220319172027566

  • Flow ID number : 流 ID 号
  • Peer Flow ID number : 对端流 ID 号
  • Flow type : 流量类型
  • HA unit : 高可用单元
  • Priority : 优先级

(3):nnn

:nnn 提供 wireshark F5 插件低等、中等和高等细节输出,输出示例如下:

# tcpdump -i 0.0:nnn

image-20220321101446019

  • Peer IP Protocol : 对等 IP 协议
  • Peer Vlan : 对等 VLAN
  • Peer remote address : 对等远程地址
  • Peer local address : 对等本地地址
  • Peer remote port : 对等远程端口
  • Peer local port : 对等本地端口

(4):nnnp

:nnnp 捕获与过滤条件相关的 F5 的客户端和服务器端的流量。

​ 例如:虚拟服务地址为 10.1.20.103,池成员是 10.1.10.7,主机IP地址为 10.1.20.103,则可以捕获地址 10.1.20.103 即可得到从客户端到池成员的所有流量。

# tcpdump -i 0.0:nnnp host 10.1.20.103

3、-n

使用 tcpdump -n 禁用主机名的名称解析,示例如下:

# tcpdump -n -i 0.0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on 0.0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:26:40.396534 IP 192.168.10.84.icl-twobase5 > 192.168.10.223.syslog: [|syslog] out slot1/tmm1 lis=

4、-nn

使用 tcpdump -nn 禁用主机名和端口名的名称解析,示例如下:

# tcpdump -nn -i 0.0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on 0.0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:26:40.396534 IP 192.168.10.84.icl-twobase5 > 192.168.10.223.syslog: [|syslog] out slot1/tmm1 lis=

5、-X

使用 tcpdump -X 显示包括 ASCII 和十六进制的输出。这将使阅读屏幕输出更容易。示例如下:

[root@bigip2:LICENSE EXPIRES IN 5 DAYS:Active:Standalone] config # tcpdump -X -i 0.0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on 0.0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:24:29.148469 IP bigip2.com.24874 > 192.168.10.223.syslog: [|syslog] out slot1/tmm1 lis=
    0x0000:  4500 005a 00f0 4000 ff11 e41e c0a8 0a54  E..Z..@........T
    0x0010:  c0a8 0adf 612a 0202 0046 96db 5463 7064  ....a*...F..Tcpd
    0x0020:  756d 7020 7374 6172 7469 6e67 206c 6f63  ump.starting.loc
    0x0030:  616c 6c79 206f 6e20 3132 372e 312e 312e  ally.on.127.1.1.
    0x0040:  323a 3220 6672 6f6d 2031 3237 2e31 2e31  2:2.from.127.1.1
    0x0050:  2e32 3534 3a35 3433 3831 f5de b0f5 0014  .254:54381......
    0x0060:  0001 0001 0001 000c 0003 0000 0100       ..............

5、-w

使用 tcpdump -w 将数据包捕获写入/var/tmp/bigip1.pcap文件。示例如下:

# tcpdump -nn -i 0.0  -w /var/tmp/bigip1.pcap
tcpdump: listening on 0.0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C276 packets captured
276 packets received by filter
0 packets dropped by kernel

6、-s

使用tcpdump -s0捕获完整的数据包。s后面的数字表示要捕获的每个数据包的位数。0表示全部。

# tcpdump -nn -i 0.0 -s0

7、-C

使用tcpdump -C捕获数据包大小,单位为M。一般与-W配合使用,否则到抓包文件到-C指定大小,会生成新的文件。

8、-W

使用 -W 开关写入多个文件。与文件大小的 -C 结合使用。在此示例中,我们将轮换 4 个文件,每个文件的大小为 50 Mb。第四个文件完成后,第一个文件将被删除,并写入一个新文件并继续,直到捕获停止。当不清楚事件何时发生并且您可以在偶数发生后不久停止时,这是循环日志记录的一个不错的选择。示例如下:

tcpdump -W 4 -C 50 -w /var/tmp/file.pcap

9、-r

使用tcpdump -r <文件名>读取文件。

tcpdump -r /var/tmp/file.pcap

10、-v -vv -vvv

-v :在解析和打印时,生成(稍微多一些)详细的输出。例如,打印IP数据包中的生存时间、标识、总长度和选项。还支持其他数据包完整性检查,例如验证IP和ICMP报头校验和。

使用-w选项写入文件时,每10秒报告捕获的数据包数。

-vv:更详细的输出。例如,从NFS回复数据包打印附加字段,并对SMB数据包进行完全解码。

-vvv:输出更加详细。例如,telnet SB。SE选项全部打印。使用-X Telnet时,选项也以十六进制打印。

二、过滤条件

1、host

​ 捕获主机地址相关报文

tcpdump host 192.168.2.5

(1)src host

​ 捕获指定地址相关报文。

tcpdump src host 192.168.2.5

(2)dst host

​ 捕获指定目的地址相关报文。

tcpdump dst host 192.168.2.5

2、port

​ 捕获指定端口相关报文。

tcpdump host 192.168.2.5

(1)src post

​ 捕获指定源端口相关报文。

tcpdump src host 192.168.2.5

(2)dst host

​ 捕获指定目的端口相关报文。

tcpdump dst host 192.168.2.5

3、tcp flag

(1) 要查看通过 BIG-IP 系统传输并包含 SYN 标志的所有数据包,请键入以下命令:

tcpdump 'tcp[tcpflags] & (tcp-syn) != 0'

(2) 若要查看通过 BIG-IP 系统传输并包含 RST 标志的所有数据包,请键入以下命令:

tcpdump 'tcp[tcpflags] & (tcp-rst) != 0'

三、参考文档

Overview of packet tracing with the tcpdump utility (f5.com)

打赏
文章目录