F5 Tcpudmp 抓包
tcpdump
是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。
tcpdump
支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
一、常用参数
1、-D
要列出可用于数据包捕获的接口,请使用 tcpdump -D
注意:any
接口可以由 0.0
表示
1 | # tcpdump -D |
2、-i
要捕获特定接口上的流量,请使用 tcpdump -i <接口名称>
,即 tcpdump -i 0.0
,示例如下:
注意:在捕获时对接口使用 0.0 时,请确保使用捕获筛选器,否则将获得太多信息,并可能影响 F5 的性能。
1 | # tcpdump -i 0.0 |
(1) :n
:n
提供 wireshark F5 插件低等细节输出,输出示例如下:
1 | # tcpdump -i 0.0:n |
Ingress : 标记入向或者出向流量。
Slot : 处理流量的插槽
TMM : 流量处理的 TMM 内核
Virtual Server : 处理流量的虚拟服务器名称
(2):nn
:nn
提供 wireshark F5 插件低等和中等细节输出,输出示例如下:
1 | # tcpdump -i 0.0:nn |
- Flow ID number : 流 ID 号
- Peer Flow ID number : 对端流 ID 号
- Flow type : 流量类型
- HA unit : 高可用单元
- Priority : 优先级
(3):nnn
:nnn
提供 wireshark F5 插件低等、中等和高等细节输出,输出示例如下:
1 | # tcpdump -i 0.0:nnn |
- 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 即可得到从客户端到池成员的所有流量。
1 | # tcpdump -i 0.0:nnnp host 10.1.20.103 |
3、-n
使用 tcpdump -n
禁用主机名的名称解析,示例如下:
1 | # tcpdump -n -i 0.0 |
4、-nn
使用 tcpdump -nn
禁用主机名和端口名的名称解析,示例如下:
1 | # tcpdump -nn -i 0.0 |
5、-X
使用 tcpdump -X
显示包括 ASCII 和十六进制的输出。这将使阅读屏幕输出更容易。示例如下:
1 | [root@bigip2:LICENSE EXPIRES IN 5 DAYS:Active:Standalone] config # tcpdump -X -i 0.0 |
5、-w
使用 tcpdump -w
将数据包捕获写入/var/tmp/bigip1.pcap
文件。示例如下:
1 | # tcpdump -nn -i 0.0 -w /var/tmp/bigip1.pcap |
6、-s
使用tcpdump -s0
捕获完整的数据包。s
后面的数字表示要捕获的每个数据包的位数。0
表示全部。
1 | # tcpdump -nn -i 0.0 -s0 |
7、-C
使用tcpdump -C
捕获数据包大小,单位为M。一般与-W
配合使用,否则到抓包文件到-C
指定大小,会生成新的文件。
8、-W
使用 -W 开关写入多个文件。与文件大小的 -C 结合使用。在此示例中,我们将轮换 4 个文件,每个文件的大小为 50 Mb。第四个文件完成后,第一个文件将被删除,并写入一个新文件并继续,直到捕获停止。当不清楚事件何时发生并且您可以在偶数发生后不久停止时,这是循环日志记录的一个不错的选择。示例如下:
1 | tcpdump -W 4 -C 50 -w /var/tmp/file.pcap |
9、-r
使用tcpdump -r <文件名>读取文件。
1 | 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
捕获主机地址相关报文
1 | tcpdump host 192.168.2.5 |
(1)src host
捕获指定地址相关报文。
1 | tcpdump src host 192.168.2.5 |
(2)dst host
捕获指定目的地址相关报文。
1 | tcpdump dst host 192.168.2.5 |
2、port
捕获指定端口相关报文。
1 | tcpdump host 192.168.2.5 |
(1)src post
捕获指定源端口相关报文。
1 | tcpdump src host 192.168.2.5 |
(2)dst host
捕获指定目的端口相关报文。
1 | tcpdump dst host 192.168.2.5 |
3、tcp flag
(1) 要查看通过 BIG-IP 系统传输并包含 SYN 标志的所有数据包,请键入以下命令:
1 | tcpdump 'tcp[tcpflags] & (tcp-syn) != 0' |
(2) 若要查看通过 BIG-IP 系统传输并包含 RST 标志的所有数据包,请键入以下命令:
1 | tcpdump 'tcp[tcpflags] & (tcp-rst) != 0' |
三、参考文档
Overview of packet tracing with the tcpdump utility (f5.com)