F5负载均衡器用tcpdump命令抓包的方法
tcpdump用法

tcpdump用法tcpdump是一个功能强大的网络分析工具,能够捕获网络上的数据包,用于网络故障排除、网络性能监控以及网络安全审计等目的。
它支持多种网络协议,支持文本输出和二进制输出。
本文将介绍tcpdump的使用方法,以及它的参数详解。
#### 一、基本用法tcpdump的基本用法非常简单:```tcpdump [options]```它默认以单个模式运行,在一次持续抓包过程中,一直以标准输出格式显示网络数据包,每条信息显示一个数据包信息,直到用户中断或者网络停止发包为止。
#### 二、抓包参数tcpdump参数繁多,但常用参数主要有以下几类:**1.滤参数*** -net据子网抓包,支持IPv4和IPv6,比如`-net192.168.1.0/24`* -host据网络主机抓包,支持IPv4和IPv6,比如`-host 192.168.1.1`* -port据端口号抓包,比如`-port 80`**2.示参数*** -X示数据包的十六进制与ASCII文本,通常用于检测网络攻击和病毒* -v示更详细的抓取信息,比如IP地址、端口号等* -vv示更详细的抓取信息,同时把协议中的详细信息也显示出来**3.能参数*** -r 以二进制文件的方式读取已保存的抓包数据,一般用于进行离线分析* -w 以二进制文件的方式将抓取的数据保存下来,方便以后分析* -c定抓包的数量,比如`-c 1000`表示只抓前1000条数据包 #### 三、高级用法tcpdump还支持一些高级参数,用于更加精确的抓包,主要有:**1.络接口*** -i定抓包的网络接口,比如`-i eth0`表示从eth0接口抓包 * -B定抓包的带宽,比如`-B 500K`表示最高抓取500K的数据 **2.滤表达式*** -e取数据的过滤表达式,比如`-e tcp[14:2]==0x0514`表示过滤TCP标志和序号为0x0514的数据包* -d取数据的过滤表达式,等效于-e参数**3.符编码*** -n取数据时,不解析DNS和hostname* -t 不显示时间戳* -S示源地址和目的地址* -c定抓取数据包个数* -q 以简单的形式显示,不显示协议头信息####、实战以抓取IP地址为192.168.1.1的80端口的HTTP请求为例,使用tcpdump命令如下:```tcpdump -i eth0 -nn -s 0 -XS host 192.168.1.1 and port 80```以上命令的含义为,从网卡eth0接口上抓取长度为0的数据包,目标地址为192.168.1.1,且端口号为80的数据包,并以十六进制与ASCII格式显示出来。
tcpdump使用方法

tcpdump使用方法tcpdump是一种网络封包分析工具,使用命令行界面进行操作。
它可以监听网络接口传输的数据包,并将其显示在终端上。
tcpdump是一个功能强大的工具,可以用于网络排错、协议分析、安全审计等多种用途。
下面将详细介绍tcpdump的使用方法。
1. 安装tcpdump```sudo apt-get install tcpdump```2. 使用tcpdump命令```sudo tcpdump [options] [expression]```其中,options是一些可选项,expression是过滤器表达式。
3.监听所有网络接口使用tcpdump监听所有网络接口的数据包,可以使用以下命令:```sudo tcpdump```这将显示所有接口传输的数据包。
4.监听指定网络接口使用tcpdump监听指定网络接口的数据包,可以使用以下命令:```sudo tcpdump -i eth0```这将监听名为eth0的网络接口的数据包。
5.保存数据包到文件使用tcpdump将捕获到的数据包保存到文件,可以使用以下命令:```sudo tcpdump -w output.pcap```这将将数据包保存到名为output.pcap的文件中。
6.读取保存的数据包文件使用tcpdump读取保存的数据包文件,可以使用以下命令:```sudo tcpdump -r input.pcap```这将读取名为input.pcap的文件中的数据包。
7.过滤数据包使用tcpdump可以根据特定的条件对数据包进行过滤,只显示满足条件的数据包。
以下是一些常用的过滤器表达式示例:-过滤源IP地址:```sudo tcpdump src 192.168.1.1```-过滤目标IP地址:```sudo tcpdump dst 192.168.1.1```-过滤源和目标IP地址:```sudo tcpdump host 192.168.1.1```-过滤指定端口:```sudo tcpdump port 80```-过滤指定协议:```sudo tcpdump icmp```8.显示数据包详细信息使用tcpdump可以显示每个数据包的详细信息。
网络抓包教程之tcpdump

⽹络抓包教程之tcpdump现在的移动端应⽤⼏乎都会通过⽹络请求来和服务器交互,通过抓包来诊断和⽹络相关的bug是程序员的重要技能之⼀。
抓包的⼿段有很多:针对http和https可以使⽤Charles设置代理来做,对于更⼴泛的协议可以使⽤tcpdump或者wireshark。
wireshark提供GUI,⽅便做深⼊全⾯的数据分析。
tcpdump则输出原始的包内容,好处是快速⾼效,之前写过⼀篇简单的,就是⽤tcpdump来操作的。
这篇⽂章主要介绍tcpdump的基本使⽤⽅法,阅读⽬标是能基本掌握并运⽤tcpdump解决⽹络相关的问题。
阅读前提是对有初步的了解。
1.启动tcpdumpiOS设备上启动tcpdump⽐较⽅便。
apple在mac上有个叫rvictl的程序,可以通过iOS设备的udid创建⼀个虚拟⽹卡,然后通过这个虚拟⽹卡监听设备上所有的⽹络流量。
步骤如下:获取itunes获取设备udid打开终端(terminal),创建虚拟⽹卡在终端输⼊rvictl -s udid,创建虚拟⽹卡。
启动tcpdump监控流量在终端继续输⼊sudo tcpdump -i rvi0 -AAl,启动tcpdump监控。
Android设备没办法通过rvictl创建虚拟⽹卡,但是可以把tcpdump的可执⾏⽂件上传到android设备上,然后通过mac远程登录android设备运⾏tcpdump,前提是这台android 设备必须已经root过。
步骤如下:下载android版本的tcpdump从可以下载到专门为android系统编译的tcpdump版本。
通过adb将tcpdump上传到android设备通过adb push将tcpdump⽂件上传到特定的⽬录,这⾥我们选择/sdcard/data⽬录。
在android设备上运⾏tcpdump通过adb shell登陆设备,并执⾏tcpdump,最后⼀步执⾏./tcpdump即可。
Linux命令高级技巧使用tcpdump进行网络抓包

Linux命令高级技巧使用tcpdump进行网络抓包TCPDump是一种常用的网络抓包工具,可以在Linux系统中使用。
它可以捕获网络数据包,并提供详细的分析和监测功能。
本文将介绍一些高级技巧,帮助您更好地使用tcpdump工具进行网络抓包。
1. 安装和基本使用要使用tcpdump,首先需要在Linux系统上安装它。
在终端中输入以下命令来安装tcpdump:```sudo apt-get install tcpdump```安装完成后,输入以下命令来开始抓包:```sudo tcpdump -i <interface>```其中,<interface>是要抓取网络流量的网络接口,如eth0或wlan0。
2. 抓取指定端口的数据包有时候,我们只对某个特定端口的网络流量感兴趣。
您可以使用以下命令来抓取指定端口的数据包:```sudo tcpdump -i <interface> port <port_number>```其中,<port_number>是您感兴趣的端口号。
3. 根据源IP或目标IP过滤数据包如果您只想抓取特定源IP或目标IP的数据包,可以使用以下命令进行过滤:```sudo tcpdump -i <interface> src <source_IP>```或```sudo tcpdump -i <interface> dst <destination_IP>```其中,<source_IP>是源IP地址,<destination_IP>是目标IP地址。
4. 保存抓包结果为文件您可以将抓到的数据包保存到文件中,以便稍后分析。
使用以下命令将数据包保存到文件:```sudo tcpdump -i <interface> -w <output_file>```其中,<output_file>是保存数据包的文件名。
tcpdump常用抓包命令

tcpdump常用抓包命令一、什么是tcpdumptcpdump是一款用于抓取网络数据包的功能强大的命令行工具。
它可以通过监听网络接口,捕获和分析传输过程中的数据包,对网络问题进行排查和故障分析。
二、安装tcpdump在大多数Linux发行版中,tcpdump已经默认安装。
如果您的系统没有预装tcpdump,可以通过以下命令进行安装:sudo apt-get install tcpdump # Debian/Ubuntusudo yum install tcpdump # CentOS/RHEL三、tcpdump的基本用法1. 抓取数据包使用tcpdump进行抓包非常简单,只需要在命令行中输入tcpdump命令即可开始捕获所有的数据包。
tcpdump2. 指定网络接口如果有多个网络接口可以选择,可以使用-i参数指定要监听的网络接口。
例如,要监听eth0接口的数据包,可以使用以下命令:tcpdump -i eth03. 保存捕获的数据包默认情况下,tcpdump会将捕获的数据包输出到标准输出。
如果需要将数据包保存到文件中,可以使用-w参数指定文件名。
例如,将数据包保存到capture.pcap文件中:tcpdump -w capture.pcap4. 显示捕获的数据包内容通过默认设置,tcpdump只会以十六进制格式显示捕获的数据包。
如果想要查看更多的信息,可以使用-A参数以ASCII格式显示数据包内容。
例如:tcpdump -A5. 显示源和目标IP地址如果只需要查看数据包的源和目标IP地址,而不关心其他详细内容,可以使用-n 参数。
例如:tcpdump -n四、高级用法1. 指定抓包数量默认情况下,tcpdump会一直抓包直到用户终止程序。
如果只需要抓取固定数量的数据包,可以使用-c参数指定要抓取的包数量。
例如,只抓取10个数据包:tcpdump -c 102. 使用过滤器tcpdump可以使用过滤器来指定要抓取的数据包的条件。
tcpdump抓包命令使用

tcpdump抓包命令使⽤抓包⼯具使⽤1.作⽤:(1)捕获⽹络协议包(2)分析⽹络协议包2.分类:(1)命令⾏⼯具,如tcpdump(2)图像界⾯⼯具,wireshark3.tcpdump命令⾏⼯具的使⽤3.1格式:tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s snaplen ] [ -w file ] [ expression ]3.2选项分类抓包选项-c:指定要抓取的包数量-i interface:指定tcpdump需要监听的接⼝,-I 后⾯直接跟⽹卡名即可,如-I ens33-n:对地址以数字⽅式显式,否则显式为主机名-nn:除了-n的作⽤外,还把端⼝显⽰为数值输出选项-e:输出的每⾏中都将包括数据链路层头部信息,例如源MAC和⽬标MAC。
-q:快速打印输出。
即打印很少的协议相关信息,从⽽输出⾏都⽐较简短。
-X:输出包的头部数据,会以16进制和ASCII两种⽅式同时输出。
-XX:输出包的头部数据,会以16进制和ASCII两种⽅式同时输出,更详细。
-v:当分析和打印的时候,产⽣详细的输出。
-vv:产⽣⽐-v更详细的输出。
-vvv:产⽣⽐-vv更详细的输出其他功能选项-D:列出可⽤于抓包的接⼝-F:从⽂件中读取抓包的表达式-w:将抓包数据输出到⽂件中⽽不是标准输出,如-w node1.cap-r:从给定的数据包⽂件中读取数据。
如tcmdump -r node1.cap4.tcpdump的表达式tcpdump的表达式由⼀个或多个"单元"组成,每个单元⼀般包含ID的修饰符和⼀个ID(数字或名称)。
有三种修饰符:type:指定ID的类型。
可以给定的值有host/net/port/portrange。
例如"host foo","net 128.3","port 20","portrange 6000-6008"。
F5详细配置手册

F5 BIG-IP负载均衡器配置指导书目录添加“只读”权限的管理员帐号对某一Virtual Server用TCPDUMP命令无法抓到包如何处理一、网络结构与IP地址规划本手册以移动WAP/彩信网关为例网络拓扑结构如下图所示:整个数据网络设备,采用两台防火墙、两台BIG-IP 3400负载均衡器、及两台交换机、网络设备都采用主、备设备,以实现设备、链路的冗余备份,以消除单点故障。
这里部署负载均衡器的目的主要是为了增加服务器的数量,以提升系统的处理能力。
但对外仍然是一个IP地址。
相关的IP地址规划如下:注:以上的IP地址规划是测试环境的IP地址设置,需要根据现网环境中的IP地址规划进行修改。
注:建议现场工程师先填写以下规范表:、配置 BIGIP3400 负载均衡设备本章将主要描述BIGIP3400 负载均衡设备的配置方法及配置内容。
旁路/直连的选择2.1.1 路由/直连模式的介绍网络连接的物理结构如下结构:Ip 规划说明:图中bigip 为负载均衡交换机,bigip 上面使用公开的ip 地址,bigip 下面同负载均衡的服务器使用不公开的ip 地址。
但对外提供服务则使用公开的ip。
2.1.2 旁路模式的介绍网络连接的物理结构如下结构:Ip 规划说明:图中bigip 为负载均衡交换机,bigip 和负载均衡的服务器均使用公开的ip 地址。
2.1.3 路由/直连模式同旁路模式的比较(1 )流量走向不一样;路由/直连模式的流量走向如下:如上图,bigip 同客户端的流量在bigip 的上联接口,bigip 同服务器的流量在下面的接口。
旁路模式的流量走向如下:如上图,bigip 无论同客户端还是同服务器的通讯流量均在bigip 的一个接口上。
(2)接口流量压力不一样见图:路由/直连情况下,bigip 同客户端的流量在bigip 的上联接口,bigip 同服务器的流量在下联的接口,故bigip 单一接口压力较小。
F5负载均衡抓包方法

F5负载均衡抓包方法作者:易隐者发布于:2012-10-17 12:48 Wednesday 分类:参考资料登录F51,超级终端的登录:通过Console电缆一端连接BIGIP,一端连接PC机的串口,然后打开超级终端,建立一个连接,超级终端中COM的参数设置如图:不论是从Console口登陆,还是用SSH从网络登陆,BIG-IP的缺省登陆帐号与密码如下:缺省登陆帐号:root缺省登陆密码:default输入帐号和密码后,将见到以下界面:缺省的终端类型为vt100,回车后如图:F5下的tcpdump的使用1,web管理界面下的抓包Tcpdump 工具在V4.5 之前只能在CLI 下使用,V9 提供了图形界面下的Tcpdump,在System->support 界面下,我们可以直接使用tcpdump 工具:2,F5命令行下Tcpdump的使用示例:当业务无法正常工作时,经常需要在BIG-IP上抓包进行分析定位是什么原因导致数据包没有被常转发。
BIG-IP上提供了TCPDUMP抓包分析工具。
TCPDUMP是Unix系统常用的报文分析工具,TCPDUMP经常用于故障定位,如会话保持失效、SNAT通信问题等。
本文讲述TCPDUMP命令的基本用法,更详细的使用说明请参见“man tcpdump”。
命令语法:tcpdump [ -adeflnNOpqRStvxX ] [ -c count ] [ -F file ][ -i interface ] [ -m module ] [ -r file ][ -s snaplen ] [ -T type ] [ -w file ][ -E algo:secret ] [ expression ]其中:⌝-i 报文捕获监听的接口,如果不指定,默认为系统最小编号的接口(不包括loop- back 接口),一般对指定Vlan名称进行监控,如-i external 是对external vlan进行监控;也可以对指定端口进行监控如–i 1.1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
F5负载均衡器用tcpdump命令的抓包方法作者:邹善部门:业务与软件技术服务器支撑技术团队参考文档:<<F5负载均衡器配置指导书>> 林浩泓本文简单介绍在F5负载均衡器上用tcpdump命令进行抓包的方法,希望能对调试F5负载均衡器时有所帮助。
用tcpdump命令可以观察到从client端发出来的数据包有没有到F5负载均衡器,F5负载均衡器有没有把收到的数据包按设置发送出去,F5负载均衡器有没有收到后面真实服务器发过来的数据包。
Tcpdump命令可以对从client端到F5再到真实服务器的数据流进行跟踪。
Tcpdump命令是F5本身自带的命令,不需要额外安装其他软件包。
1 Tcpdump命令本文讲述TCPDUMP命令的基本用法,更详细的使用说明请参见“man tcpdump”。
命令语法:tcpdump [ -adeflnNOpqRStvxX ] [ -c count ] [ -F file ][ -i interface ] [ -m module ] [ -r file ][ -s snaplen ] [ -T type ] [ -w file ][ -E algo:secret ] [ expression ]其中:➢-e在输出行打印出数据链路层的头部信息➢-i报文捕获监听的接口,如果不指定,默认为系统最小编号的接口(不包括loop-back接口)➢-n不将IP地址或端口号转化为域名或协议名称➢-r从文件中读取(该文件由-w选项创建)➢-s确定捕获报文大小➢-w直接将捕获报文写入文件,而不是对其进行解析并通过屏幕显示(与-r选项对应)➢-x每个报文以十六进制方式显示➢-X每个报文同时以文本和十六进制显示➢expression匹配表达式的分组将进行解析。
如果不指定表达式,系统对所有分组进行捕获分析。
复杂表达式可以使用“and”与、“or”或以及“not”非操作进行组合。
表达式有三种:✓type三种种类:host、net和port。
比如:host 10.1.1.1。
如果不指定类型,默认为host。
✓dir有src、dst、src or dst和src and dst四种方向。
默认为src or dst,即双向。
proto常见协议有:ip、arp、tcp、udp、icmp等。
如果不指定协议类型,默认为所有协议。
2 在F5上用tcpdump抓包示例以上图数据流为例,在F5上可以用tcpdump命令分别定位手机的数据流有没有到达F5负载均衡器、F5负载均衡器是否把收到的数据包发真实的服务器上及真实服务器有没有把数据返回给F5。
上图中,手机的IP地址为10.139.0.0/16,F5上的做的VIP为10.0.0.174:9201,后台的真实IP地址为:10.0.0.196/26。
F5上有两个vlan,一个为external vlan,用于接F5的外网,另一个为internal vlan,用于接F5的内网,在本例中,port 2.1接外网,port 1.9接真实服务器。
注意:在采用F5的双机时,要在数据流流经的F5上进行抓包,如果在数据流不经过的F5上抓包,是抓不到数据包的。
●在F5上用tcpdump定位手机的数据流有没有到达F5:因手机过来的地址是不定的,只是限定在一个地址池:10.139.0.0/16中,所以在F5上可以采用对源地址为10.139.0.0/16 (src net 10.139.0.0/16)进行抓包;F5是在通过port 2.1与外网相连,所以可以对interface 2.1进行抓包,所以抓包语句可写为如下:JSNJ-B-SW001-WAP:~# tcpdump -i 2.1 src net 10.139.0.0/16tcpdump: listening on 2.122:26:54.032326 10.139.110.6.49153 > 10.0.0.174.9201: udp 23522:26:54.046591 10.139.110.6.49153 > 10.0.0.174.9201: udp 422:26:54.273444 10.139.110.6.49153 > 10.0.0.174.9201: udp 23522:26:55.626692 10.139.110.6.49153 > 10.0.0.174.9201: udp 3从以上抓到的包看,10.139.110.6已经把数据包送到VIP:10.0.0.174:9201上来。
前面22:26:54.032326是时间标记。
如果在外连接口上抓不到数据,则要检查从手机到F5之间的路由是否可达了。
●在F5上用tcpdump定位手机的数据流有没有从F5上发向真实的服务器(10.0.0.196)F5的port 1.9是连接真实服务器10.0.0.196的接口,可以在此接口上对目的地址为10.0.0.196 ,端口号为9201的数据进行抓包。
JSNJ-B-SW001-WAP:~# tcpdump -i 1.9 dst 10.0.0.196 and port 9201tcpdump: listening on 1.922:31:19.575618 10.139.110.6.49153 > 10.0.0.196.9201: udp 23722:31:20.989582 10.139.110.6.49153 > 10.0.0.196.9201: udp 322:31:27.854904 10.139.110.6.49153 > 10.0.0.196.9201: udp 23722:31:29.271142 10.139.110.6.49153 > 10.0.0.196.9201: udp 3从结果上看:10.139.110.6的数据包已离开F5,发到10.0.0.196上。
注意的是:此数据包的源IP地址还是手机的地址。
结果从接服务器的接口上看不到离开F5的数据包,则需要检查F5的配置有没有问题。
●在F5上用tcpdump定位真实服务器的数据流有没有返回F5F5的port 1.9是连接真实服务器10.0.0.196的接口,可以在此接口上对源地址为10.0.0.196 ,端口号为9201的数据进行抓包JSNJ-B-SW001-WAP:~# tcpdump -i 1.9 src 10.0.0.196 and port 9201tcpdump: listening on 1.922:32:26.302664 10.0.0.196.9201 > 10.139.110.6.49153: udp 3 (DF)22:32:26.393834 10.0.0.196.9201 > 10.139.110.6.49153: udp 1403 (DF)22:32:26.394014 10.0.0.196.9201 > 10.139.110.6.49153: udp 176 (DF)22:32:27.273660 10.0.0.196.9201 > 10.139.110.6.49153: udp 1403 (DF)22:32:28.672322 10.0.0.196.9201 > 10.139.110.6.49153: udp 4 (DF)22:32:29.832202 10.0.0.196.9201 > 10.139.110.6.49152: udp 4 (DF)如果没有抓到相应的数据包,则有可能是真实服务器没有把数据包发回到F5上,此时,应当检查真实服务器配置,可以在真实服务器本地检查服务是否正常(如是IE应用在本地服务器上用IE浏览则可)。
从以上抓到的数据包可以看出数据包的目的地址不是F5,而是手机的真实地址,所以要注意检查真实服务器的网关有没有设置好,一般情况下真实服务器的网关要设置成F5 internal vlan 的self IP或share IP(双机情况)。
现场已碰到很多因为没有设置真实服务器网关而造成访问不通的情况。
●在F5上用tcpdump定位F5有没有把数据流返回到手机上:在F5上对port 2.1 目的地址为10.139.0.0/16的网段抓包:JSNJ-B-SW001-WAP:~# tcpdump -i 2.1 dst net 10.139.0.0/16tcpdump: listening on 2.112:25:24.899435 10.0.0.174.9201 > 10.139.110.6.8502: udp 3 (DF)12:25:25.170922 10.0.0.174.9201 > 10.139.110.6.8502: udp 1569 (frag 60525:1480@0+) 12:25:25.170933 10.0.0.174 > 10.139.110.6: (frag 60525:97@1480)12:25:27.479392 10.0.0.174.9201 > 10.139.110.6.8502: udp 3 (DF)12:25:28.520496 10.0.0.174.9201 > 10.139.110.6.8502: udp 1290 (DF)如果F5没有把数据包发送到外网去,则要检查F5的配置,同时也要非常注意F5有没有到外网的路由。
检查F5到外网的路由可以在F5上用netstat –rn命令查看:JSNJ-B-SW001-WAP:~# netstat -rnRouting tablesInternet:Destination Gateway Flags MTU Ifdefault 10.0.0.140 UGS 1500 vlan010.0.0.128/26 link#29 UC 1500 vlan010.0.0.131 0.1.d7.23.21.b1 UHLc 1500 lo010.0.0.140 0.10.db.ff.20.70 UHLc 1500 vlan0查看是否有default的路由。
如果没有default路由,则需要到F5上用config进入配置菜单,配置gateway。