tcpdump抓包
- 格式:doc
- 大小:33.50 KB
- 文档页数:3
tcpdump 抓包参数TCPDump抓包参数是网络工程师在进行网络数据包分析时经常使用的工具。
通过使用不同的参数,可以提取出特定的网络数据包,从而更好地了解网络通信过程中发生的问题。
本文将介绍一些常用的TCPDump抓包参数,并说明它们的作用和用法。
1. -i 参数:指定抓包的网络接口。
例如,使用命令“tcpdump -i eth0”可以抓取eth0接口上的网络数据包。
2. -c 参数:指定抓包的数据包数量。
例如,使用命令“tcpdump -c 100”可以抓取100个数据包后停止。
3. -n 参数:禁止将网络地址和端口号解析为名称。
使用该参数可以提高抓包效率,并且避免了DNS解析的开销。
4. -s 参数:指定抓取数据包的长度。
例如,使用命令“tcpdump -s 100”可以抓取每个数据包的前100个字节。
5. -w 参数:将抓取的数据包保存到文件中。
例如,使用命令“tcpdump -w capture.pcap”可以将抓取的数据包保存到名为capture.pcap的文件中。
6. -r 参数:从文件中读取数据包进行分析。
例如,使用命令“tcpdump -r capture.pc ap”可以分析名为capture.pcap的数据包文件。
7. -A 参数:以ASCII文本形式显示数据包的内容。
使用该参数可以方便地查看数据包中的具体信息。
8. -e 参数:显示数据包的以太网帧头部信息。
使用该参数可以查看源MAC地址和目的MAC地址等信息。
9. -v 参数:增加详细输出。
使用该参数可以获得更多关于数据包的信息,如IP头部信息和TCP头部信息等。
10. -X 参数:以十六进制和ASCII形式显示数据包的内容。
使用该参数可以同时查看数据包的二进制和可读形式。
11. -q 参数:静默模式。
使用该参数可以减少输出信息,只显示关键信息。
12. -tt 参数:显示时间戳。
使用该参数可以查看数据包抓取的时间。
13. -S 参数:显示绝对序号。
Linux中的网络监控技巧使用tcpdump和wireshark命令进行抓包在Linux系统中,网络监控是一项非常关键的工作。
通过对网络数据包进行抓取和分析,可以帮助我们解决网络故障、优化网络性能以及保障网络安全。
本文将介绍两个常用的网络监控工具:tcpdump和wireshark,并介绍它们在Linux系统中的使用技巧。
一、tcpdumptcpdump是一个强大的命令行工具,可以在Linux系统中用于抓取和分析网络数据包。
它可以监控网络接口上的所有数据包,并将它们以各种格式进行展示,帮助我们深入了解网络通信过程。
安装tcpdump:在大多数Linux发行版中,tcpdump都默认安装在系统中。
如果您的系统没有预装tcpdump,可以通过以下命令进行安装:```sudo apt-get install tcpdump```抓取数据包:使用tcpdump抓取网络数据包非常简单,只需在命令行中输入以下命令:```sudo tcpdump```这样,tcpdump会开始在默认网络接口上抓取数据包,并将它们以默认格式输出到终端。
设置过滤器:有时候,我们只关注特定的网络流量或协议。
tcpdump支持设置过滤器来实现按需抓取。
例如,我们只想抓取目标IP地址为192.168.1.100的数据包,可以使用以下命令:```sudo tcpdump host 192.168.1.100```类似地,我们可以通过端口号、协议等设置更详细的过滤条件。
输出到文件:tcpdump默认将抓取的数据包输出到终端,但有时我们希望将数据保存到文件中进行离线分析。
可以使用以下命令将数据包输出到文件:```sudo tcpdump -w output.pcap```这样,tcpdump会将抓取到的数据包保存到output.pcap文件中。
二、wiresharkwireshark是一个功能强大的图形化网络分析工具,可以在Linux系统中使用。
tcpdump抓包条件摘要:一、tcpdump 简介二、tcpdump 抓包条件1.网络接口2.过滤规则3.保存和查看数据包正文:tcpdump 是一款功能强大的网络数据包捕获和分析工具,广泛应用于网络故障排查、网络安全分析和网络协议研究等领域。
通过tcpdump,用户可以实时捕获和分析网络数据包,了解网络流量状况以及各种网络协议的工作原理。
在tcpdump 中,有三个主要的抓包条件,分别是网络接口、过滤规则和保存和查看数据包。
首先,网络接口是tcpdump 抓包的基础。
用户需要选择正确的网络接口来捕获数据包。
在命令行中,可以通过“-i”参数来指定网络接口,例如:“tcpdump -i eth0”。
其次,过滤规则是tcpdump 抓包的关键。
通过过滤规则,用户可以有选择性地捕获感兴趣的数据包。
tcpdump 支持多种过滤条件,如源地址、目的地址、协议类型、端口号等。
在命令行中,过滤规则通常放在“-f”参数之后,例如:“tcpdump -i eth0 -f "src port 80"”。
最后,保存和查看数据包是tcpdump 的重要功能。
捕获到的数据包可以保存在文件中,以便后续分析。
在命令行中,可以通过“-w”参数将数据包保存到文件,例如:“tcpdump -i eth0 -w output.cap”。
另外,用户还可以使用tcpdump 的图形界面工具(如Wireshark)来查看和分析数据包。
总之,tcpdump 作为一款实用的网络数据包捕获工具,可以帮助用户实时监控网络状况,分析网络流量,查找网络故障,以及研究网络协议。
Linux命令高级技巧通过tcpdump命令进行网络抓包和分析Linux是一款广泛应用于服务器和嵌入式设备的操作系统,具有强大的功能和灵活性。
与其他操作系统相比,Linux提供了丰富的命令行工具,其中之一就是tcpdump命令。
tcpdump是一款用于抓取网络数据包并进行分析的强大工具,它可以帮助用户深入了解网络通信,解决网络故障和排查安全问题。
在本文中,我们将介绍如何使用tcpdump 命令进行网络抓包和分析。
一、什么是网络抓包?网络抓包是指在计算机网络中捕获和保存网络数据包的过程。
网络数据包是信息在网络中传输的基本单位,它包含了源IP地址、目标IP 地址、协议类型、端口号等重要信息。
通过抓包,我们可以观察和分析网络通信的行为,帮助我们了解网络设备之间的交互过程,诊断网络故障,以及排查安全问题。
二、tcpdump命令的基本用法tcpdump命令是一款基于命令行的工具,用于捕获和分析网络数据包。
下面是tcpdump命令的基本用法:```tcpdump [选项] [表达式]```其中,选项用于配置tcpdump的行为,表达式用于过滤需要捕获的数据包。
下面是一些常用的选项:- `-i`:指定要监听的网络接口。
- `-n`:禁用主机名解析,显示ip地址而非域名。
- `-X`:以16进制和ASCII码显示数据包内容。
- `-c`:指定捕获数据包的数量。
- `-s`:指定捕获数据包的最大长度。
例如,我们可以使用以下命令来捕获网络接口eth0上的前10个数据包,并以16进制和ASCII码显示数据包内容:```tcpdump -i eth0 -c 10 -X```三、tcpdump命令的高级用法除了基本用法外,tcpdump命令还提供了一些高级的用法,帮助用户更加灵活和精确地进行网络抓包和分析。
1. 根据协议过滤数据包tcpdump支持根据不同协议类型进行数据包的过滤。
常见的协议包括TCP、UDP、ICMP等。
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常用抓包命令一、什么是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可以使用过滤器来指定要抓取的数据包的条件。
1关键字Tcpdump,丢包,抓包2Tcpdump抓包的作用Tcpdump是linux系统自带的抓包工具,功能:>抓进出Linux服务器的IP包>抓下的IP包,可由WireShark等工具,解码为UDP和RTP包。
>抓下的IP包,可由WireShark等工具分析丢包情况3Tcpdump常用方法Tcpdump是linux系统自带的抓包工具,需要root权限才能运行。
//抓网卡eth2上所有进出的数据包,如果没有数据包,则通常会抓到广播包数会保留所有TS数据包,故重要。
3.4指定入向端口设入向端口为11866,转换为十六进制,即是0x2e5a,所以:其中,ether[36]和ether[37]为接收端口的16进制表示。
3.5指定出向端口其中, Ether[34]和ether[35]为发送端口的16进制表示。
3.6长时间抓包在抓包命令后加“-C 100”,它会满100M后写到下一个新的文件。
直到磁盘满。
3.7后台执行在抓包命令最后面再加一个&,这样可以后台一直抓。
这样的话,登录窗口可以关掉。
你想停止抓包,则得用PS把进程杀死。
4抓包分析快进快退4.1找关键帧RTP包是否为关键帧的标识保存在RTP扩展位中。
WireShark查看RTP包是否为关键帧。
00或者10:普通帧20或者30: 关键帧首包40或者50: 关键帧中间包80或者90: 关键帧尾包注:以上判断之所以有“或者”,是因为关键帧位只占了3比特。
4.2判断时戳如果抓包为32倍速,要判断时戳是否正常,则可以用抓包里的:(最大时戳-最小时戳)/90000/倍速=倍速播放时常例如:(709506270-490114260)/90000/32=76.17(秒)然后可以查看每二列的Time是否约等于76秒。
如果是,则是正常的。
5抓包分析是否丢包注意,不同版本的WireShark操作有所区别,下文中所用版本为1.3.05.1主要步骤>确定端口号并转换为16进制。
tcpdump抓包条件摘要:1.tcpdump 简介2.tcpdump 抓包条件概述3.抓包条件具体解析3.1 源IP 地址过滤3.2 目标IP 地址过滤3.3 端口过滤3.4 协议类型过滤3.5 数据包大小过滤3.6 时间过滤3.7 其他高级过滤条件4.实例演示5.总结正文:【1.tcpdump 简介】tcpdump 是一个常用的网络数据包捕获和分析工具,它可以在Linux、Unix 等系统上运行。
通过使用tcpdump,用户可以监视网络流量,捕获并分析经过网络接口的数据包,帮助用户深入了解网络通信过程,排查网络问题。
【2.tcpdump 抓包条件概述】在使用tcpdump 进行抓包时,可以通过一系列条件来筛选出感兴趣的数据包。
这些条件可以分为不同的类别,如源IP 地址、目标IP 地址、端口、协议类型等。
下面将对这些抓包条件进行具体解析。
【3.抓包条件具体解析】【3.1 源IP 地址过滤】源IP 地址过滤是指捕获指定源IP 地址的数据包。
在tcpdump 中,可以使用“src”关键字来指定源IP 地址。
例如,要捕获源IP 地址为192.168.1.100 的数据包,可以使用以下命令:```tcpdump -i eth0 src 192.168.1.100```【3.2 目标IP 地址过滤】与源IP 地址过滤类似,目标IP 地址过滤是指捕获指定目标IP 地址的数据包。
在tcpdump 中,可以使用“dst”关键字来指定目标IP 地址。
例如,要捕获目标IP 地址为192.168.1.200 的数据包,可以使用以下命令:```tcpdump -i eth0 dst 192.168.1.200```【3.3 端口过滤】端口过滤是指捕获指定端口的数据包。
在tcpdump 中,可以使用“port”关键字来指定端口。
例如,要捕获端口为80 的数据包,可以使用以下命令:```tcpdump -i eth0 port 80```【3.4 协议类型过滤】协议类型过滤是指捕获指定协议类型的数据包。
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"。
tcpdump⼿机抓包####这个没有图形界⾯,可以在Linux服务器上运⾏,这是⽐wireshark优秀的地⽅,###⾸先⼿机root####然后adb要能连接⼿机####下载tcpdump#####copy到⼿机上(root过)然后将下载到的tcpdump拷贝到⼿机某个⽬录下adb push /Users/liqian/Downloads/tcpdump /storage/sdcard0/tcpdump####安装到系统⽬录进⼊adb shell,然后再获取su权限.cp /sdcard/liqian/tcpdump /system/bin/tcpdump这⼀步copy如果报错:adb向⼿机写⼊⽂件,Read-only file system执⾏这个命令:mount -o rw,remount /system####给tcpdump添加执⾏权限命令:chmod 755 /system/bin/tcpdump####执⾏tcpdump1|shell@ja3gduosctc:/system/bin $ suroot@ja3gduosctc:/system/bin # ./tcpdumptcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes####使⽤tcpdump抓包代码如下:tcpdump -i wlan0 -s 0 -w /sdcard/1.pcap可以结束时使⽤Ctrl+c快捷键让tcpdump结束抓包,抓到数据会存到/sdcard/1.pcap⽂件内###tcpdump命令学习tcpdump⽀持相当多的不同参数,如:使⽤-i参数指定tcpdump监听的⽹络界⾯,这在计算机具有多个⽹络界⾯时⾮常有⽤,使⽤-c参数指定要监听的数据包数量,使⽤-s:"-s 0": capture the entire packet(-s参数⽤以指定数据包捕获长度,此处指定为0,意为抓取完整的数据包)使⽤-w参数指定将监听到的数据包写⼊⽂件中保存####监视指定主机的数据包打印所有进⼊或离开sundown的数据包.tcpdump host sundown也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包tcpdump host 210.27.48.1tcpdump -i wlan0 -s 0 -c 2 -X icmp使⽤⼗六进制输出当我们想要检查包的内容是否有问题的时候,⼗六进制的输出很有帮助:-X 是⼗六进制输出-c 是输出多少个,2就是输出两个,不加就是输出全部,###基于包⼤⼩进⾏筛选如果你正在查看特定⼤⼩的包,你可以使⽤这个参数。
tcpdump抓包条件tcpdump是一款强大的网络抓包工具,可用于捕获和分析网络数据包。
在使用tcpdump时,可以通过设置特定的条件来过滤和捕获感兴趣的数据包。
以下是一些常见的抓包条件:1. 捕获特定网络接口的数据包:使用-i选项可以指定抓取数据包的网络接口。
例如,如果希望捕获eth0接口上的数据包,可以使用以下命令:```tcpdump -i eth0```2. 指定源和目的IP地址:使用src和dst选项可以过滤来源或目的IP地址。
例如,如果希望只捕获来自10.0.0.1的数据包,可以使用以下命令:```tcpdump src 10.0.0.1```类似地,可以使用dst选项来指定目的IP地址。
3. 指定协议类型:使用proto选项可以过滤特定的协议类型。
例如,如果希望只捕获TCP协议的数据包,可以使用以下命令:```tcpdump proto TCP```4. 指定端口号:使用port选项可以过滤特定的端口号。
例如,如果希望只捕获目的端口号为80的数据包,可以使用以下命令:```tcpdump dst port 80```类似地,可以使用src port选项来指定源端口号。
5. 指定数据包长度:使用len选项可以过滤特定长度的数据包。
例如,如果希望只捕获长度大于100字节的数据包,可以使用以下命令:```tcpdump len greater 100```类似地,可以使用len less选项来指定长度小于某个值的数据包。
6. 使用逻辑运算符:可以使用逻辑运算符来组合多个过滤条件。
例如,如果希望捕获源IP地址为10.0.0.1并且目的端口号为80的数据包,可以使用以下命令:```tcpdump src 10.0.0.1 and dst port 80```7. 如何保存抓包数据:默认情况下,tcpdump将抓到的数据包输出到终端。
如果希望将数据包保存到文件中进行进一步分析,可以使用-w选项。
服务器抓包命令:tcpdump详解简介:tcpdump,就是:dump the traffic on a network,根据使⽤者的定义对⽹络上的数据包进⾏截获的包分析⼯具。
⼀个No-GUI的抓包分析⼯具。
tcpdump,可以将⽹络中传送的数据包的“头”完全截获下来提供分析。
它⽀持针对⽹络层、协议、主机、⽹络或端⼝的过滤,并提供and、or、not等逻辑语句来帮助你去掉⽆⽤的信息。
Linux已经⾃动安装,可直接使⽤。
概要:tcpdump采⽤命令⾏⽅式,它的命令格式为:tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ][ -c count ] [ -C file_size ][ -E spi@ipaddr algo:secret,... ][ -F file ] [ -G rotate_seconds ] [ -i interface ][ --immediate-mode ] [ -j tstamp_type ] [ -m module ][ -M secret ] [ --number ] [ --print ] [ -Q in|out|inout ][ -r file ] [ -s snaplen ] [ -T type ] [ --version ][ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ][ -z postrotate-command ] [ -Z user ][ --time-stamp-precision=tstamp_precision ][ expression ]tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ][ -C file_size ] [ -F file ][ -i interface ] [ -m module ] [ -M secret ][ -r file ] [ -s snaplen ] [ -T type ] [ -w file ][ -W filecount ][ -E spi@ipaddr algo:secret,... ][ -y datalinktype ] [ -Z user ][ expression ]-A 以ASCII码⽅式显⽰每⼀个数据包(不会显⽰数据包中链路层头部信息). 在抓取包含⽹页数据的数据包时, 可⽅便查看数据(nt: 即Handy for capturing web pages).-b 使⽤ASDOT表⽰法在BGP数据包中打印AS号,⽽不是ASPLAIN表⽰法-B buffer_size--buffer-size=buffer_size将操作系统捕获缓冲区⼤⼩设置为buffer_size,单位为KiB(1024字节)-c counttcpdump将在接受到count个数据包后退出.-C file-size (nt: 此选项⽤于配合-w file 选项使⽤)该选项使得tcpdump 在把原始数据包直接保存到⽂件中之前, 检查此⽂件⼤⼩是否超过file-size. 如果超过了, 将关闭此⽂件,另创⼀个⽂件继续⽤于原始数据包的记录. 新创建的⽂件名与-w 选项指定的⽂件名⼀致, 但⽂件名后多了⼀个数字.该数字会-d 以容易阅读的形式,在标准输出上打印出编排过的包匹配码, 随后tcpdump停⽌.(nt | rt: human readable, 容易阅读的,通常是指以ascii码来打印⼀些信息. compiled, 编排过的. packet-matching code, 包匹配码,含义未知, 需补充)-dd 以C语⾔的形式打印出包匹配码.-ddd 以⼗进制数的形式打印出包匹配码(会在包匹配码之前有⼀个附加的'count'前缀).-D 打印系统中所有tcpdump可以在其上进⾏抓包的⽹络接⼝. 每⼀个接⼝会打印出数字编号, 相应的接⼝名字, 以及可能的⼀个⽹络接⼝描述. 其中⽹络接⼝名字和数字编号可以⽤在tcpdump 的-i flag 选项(nt: 把名字或数字代替flag), 来指定要在其上抓此选项在不⽀持接⼝列表命令的系统上很有⽤(nt: ⽐如, Windows 系统, 或缺乏 ifconfig -a 的UNIX系统); 接⼝的数字编号在windows 2000 或其后的系统中很有⽤, 因为这些系统上的接⼝名字⽐较复杂, ⽽不易使⽤.如果tcpdump编译时所依赖的libpcap库太⽼,-D 选项不会被⽀持, 因为其中缺乏 pcap_findalldevs()函数.-e 每⾏的打印输出中将包括数据包的数据链路层头部信息-E spi@ipaddr algo:secret,...可通过spi@ipaddr algo:secret 来解密IPsec ESP包(nt | rt:IPsec Encapsulating Security Payload,IPsec 封装安全负载, IPsec可理解为, ⼀整套对ip数据包的加密协议, ESP 为整个IP 数据包或其中上层协议部分被加密后的数据,前者的⼯作模式称为需要注意的是, 在终端启动tcpdump 时, 可以为IPv4 ESP packets 设置密钥(secret).可⽤于加密的算法包括des-cbc, 3des-cbc, blowfish-cbc, rc3-cbc, cast128-cbc, 或者没有(none).默认的是des-cbc(nt: des, Data Encryption Standard, 数据加密标准, 加密算法未知, 另需补充).secret 为⽤于ESP 的密钥, 使⽤ASCII 字符串⽅式表达该选项中ESP 的定义遵循RFC2406, ⽽不是 RFC1827. 并且, 此选项只是⽤来调试的, 不推荐以真实密钥(secret)来使⽤该选项, 因为这样不安全: 在命令⾏中输⼊的secret 可以被其他⼈通过ps 等命令查看到.除了以上的语法格式(nt: 指spi@ipaddr algo:secret), 还可以在后⾯添加⼀个语法输⼊⽂件名字供tcpdump 使⽤(nt:即把spi@ipaddr algo:secret,... 中...换成⼀个语法⽂件名). 此⽂件在接受到第⼀个ESP 包时会打开此⽂件, 所以最好此时把赋予tcp -f 显⽰外部的IPv4 地址时(nt: foreign IPv4 addresses, 可理解为, ⾮本机ip地址), 采⽤数字⽅式⽽不是名字.(此选项是⽤来对付Sun公司的NIS服务器的缺陷(nt: NIS, ⽹络信息服务, tcpdump 显⽰外部地址的名字时会⽤到她提供的名称服务): 此NIS服务由于对外部(foreign)IPv4地址的测试需要⽤到本地⽹络接⼝(nt: tcpdump 抓包时⽤到的接⼝)及其IPv4 地址和⽹络掩码. 如果此地址或⽹络掩码不可⽤, 或者此接⼝根本就没有设置相应⽹络地址和⽹络掩码(nt: linux 下的 'any' ⽹络接⼝就不需要设置地-F file使⽤file ⽂件作为过滤条件表达式的输⼊, 此时命令⾏上的输⼊将被忽略.-i interface指定tcpdump 需要监听的接⼝. 如果没有指定, tcpdump 会从系统接⼝列表中搜寻编号最⼩的已配置好的接⼝(不包括 loopback 接⼝).⼀但找到第⼀个符合条件的接⼝, 搜寻马上结束.在采⽤2.2版本或之后版本内核的Linux 操作系统上, 'any' 这个虚拟⽹络接⼝可被⽤来接收所有⽹络接⼝上的数据包(nt: 这会包括⽬的是该⽹络接⼝的, 也包括⽬的不是该⽹络接⼝的). 需要注意的是如果真实⽹络接⼝不能⼯作在'混杂'模式(promiscuou 如果 -D 标志被指定, tcpdump会打印系统中的接⼝编号,⽽该编号就可⽤于此处的interface 参数.-l 对标准输出进⾏⾏缓冲(nt: 使标准输出设备遇到⼀个换⾏符就马上把这⾏的内容打印出来).在需要同时观察抓包打印以及保存抓包记录的时候很有⽤. ⽐如, 可通过以下命令组合来达到此⽬的:``tcpdump -l | tee dat'' 或者 ``tcpdump -l > dat & tail -f dat''.(nt: 前者使⽤tee来把tcpdump 的输出同时放到⽂件dat和标准输出中, ⽽后者通过重定向操作'>', 把tcpdump的输出放到dat ⽂件中, 同时通过tail把dat⽂件中的内容放到标准输出中) -L 列出指定⽹络接⼝所⽀持的数据链路层的类型后退出.(nt: 指定接⼝通过-i 来指定)-m module通过module 指定的file 装载SMI MIB 模块(nt: SMI,Structure of Management Information, 管理信息结构MIB, Management Information Base, 管理信息库. 可理解为, 这两者⽤于SNMP(Simple Network Management Protoco)协议数据包的抓取. 具此选项可多次使⽤, 从⽽为tcpdump 装载不同的MIB 模块.-M secret 如果TCP 数据包(TCP segments)有TCP-MD5选项(在RFC 2385有相关描述), 则为其摘要的验证指定⼀个公共的密钥secret.-n 不对地址(⽐如, 主机地址, 端⼝号)进⾏数字表⽰到名字表⽰的转换.-N 不打印出host 的域名部分. ⽐如, 如果设置了此选现, tcpdump 将会打印'nic' ⽽不是 ''.-O 不启⽤进⾏包匹配时所⽤的优化代码. 当怀疑某些bug是由优化代码引起的, 此选项将很有⽤.-p ⼀般情况下, 把⽹络接⼝设置为⾮'混杂'模式. 但必须注意 , 在特殊情况下此⽹络接⼝还是会以'混杂'模式来⼯作;从⽽, '-p' 的设与不设, 不能当做以下选现的代名词:'ether host {local-hw-add}' 或 'ether broadcast'(nt: 前者表⽰只匹配以太⽹地址为ho -q 快速(也许⽤'安静'更好?)打印输出. 即打印很少的协议相关信息, 从⽽输出⾏都⽐较简短.-R 设定tcpdump 对 ESP/AH 数据包的解析按照 RFC1825⽽不是RFC1829(nt: AH, 认证头, ESP,安全负载封装, 这两者会⽤在IP包的安全传输机制中). 如果此选项被设置, tcpdump 将不会打印出'禁⽌中继'域(nt: relay prevention field). 另外,由于ES-r file从⽂件file 中读取包数据. 如果file 字段为 '-' 符号, 则tcpdump 会从标准输⼊中读取包数据.-S 打印TCP 数据包的顺序号时, 使⽤绝对的顺序号, ⽽不是相对的顺序号.(nt: 相对顺序号可理解为, 相对第⼀个TCP 包顺序号的差距,⽐如, 接受⽅收到第⼀个数据包的绝对顺序号为232323, 对于后来接收到的第2个,第3个数据包, tcpdump会打印其序-s snaplen设置tcpdump的数据包抓取长度为snaplen, 如果不设置默认将会是68字节(⽽⽀持⽹络接⼝分接头(nt: NIT, 上⽂已有描述,可搜索'⽹络接⼝分接头'关键字找到那⾥)的SunOS系列操作系统中默认的也是最⼩值是96).68字节对于IP, ICMP(nt: Internet C -T type强制tcpdump按type指定的协议所描述的包结构来分析收到的数据包. ⽬前已知的type 可取的协议为:aodv (Ad-hoc On-demand Distance Vector protocol, 按需距离向量路由协议, 在Ad hoc(点对点模式)⽹络中使⽤),cnfp (Cisco NetFlow protocol), rpc(Remote Procedure Call), rtp (Real-Time Applications protocol),rtcp (Real-Time Applications con-trol protocol), snmp (Simple Network Management Protocol),tftp (Trivial File Transfer Protocol, 碎⽂件协议), vat (Visual Audio Tool, 可⽤于在internet 上进⾏电视电话会议的应⽤层协议), 以及wb (distributed White Board, 可⽤于⽹络会议的应⽤层协议).-t 在每⾏输出中不打印时间戳-tt 不对每⾏输出的时间进⾏格式处理(nt: 这种格式⼀眼可能看不出其含义, 如时间戳打印成1261798315)-ttt tcpdump 输出时, 每两⾏打印之间会延迟⼀个段时间(以毫秒为单位)-tttt 在每⾏打印的时间戳之前添加⽇期的打印-u 打印出未加密的NFS 句柄(nt: handle可理解为NFS 中使⽤的⽂件句柄, 这将包括⽂件夹和⽂件夹中的⽂件)-U 使得当tcpdump在使⽤-w 选项时, 其⽂件写⼊与包的保存同步.(nt: 即, 当每个数据包被保存时, 它将及时被写⼊⽂件中,⽽不是等⽂件的输出缓冲已满时才真正写⼊此⽂件)-U 标志在⽼版本的libcap库(nt: tcpdump 所依赖的报⽂捕获库)上不起作⽤, 因为其中缺乏pcap_cump_flush()函数.-v 当分析和打印的时候, 产⽣详细的输出. ⽐如, 包的⽣存时间, 标识, 总长度以及IP包的⼀些选项. 这也会打开⼀些附加的包完整性检测, ⽐如对IP或ICMP包头部的校验和.-vv 产⽣⽐-v更详细的输出. ⽐如, NFS回应包中的附加域将会被打印, SMB数据包也会被完全解码.-vvv 产⽣⽐-vv更详细的输出. ⽐如, telent 时所使⽤的SB, SE 选项将会被打印, 如果telnet同时使⽤的是图形界⾯,其相应的图形选项将会以16进制的⽅式打印出来(nt: telnet 的SB,SE选项含义未知, 另需补充).-w 把包数据直接写⼊⽂件⽽不进⾏分析和打印输出. 这些包数据可在随后通过-r 选项来重新读⼊并进⾏分析和打印.-W filecount此选项与-C 选项配合使⽤, 这将限制可打开的⽂件数⽬, 并且当⽂件数据超过这⾥设置的限制时, 依次循环替代之前的⽂件, 这相当于⼀个拥有filecount 个⽂件的⽂件缓冲池. 同时, 该选项会使得每个⽂件名的开头会出现⾜够多并⽤来占位的0, 这可-x 当分析和打印时, tcpdump 会打印每个包的头部数据, 同时会以16进制打印出每个包的数据(但不包括连接层的头部).总共打印的数据⼤⼩不会超过整个数据包的⼤⼩与snaplen 中的最⼩值. 必须要注意的是, 如果⾼层协议数据没有snaplen 这么长,并-xx tcpdump 会打印每个包的头部数据, 同时会以16进制打印出每个包的数据, 其中包括数据链路层的头部.-X 当分析和打印时, tcpdump 会打印每个包的头部数据, 同时会以16进制和ASCII码形式打印出每个包的数据(但不包括连接层的头部).这对于分析⼀些新协议的数据包很⽅便.-XX 当分析和打印时, tcpdump 会打印每个包的头部数据, 同时会以16进制和ASCII码形式打印出每个包的数据, 其中包括数据链路层的头部.这对于分析⼀些新协议的数据包很⽅便.-y datalinktype设置tcpdump 只捕获数据链路层协议类型是datalinktype的数据包-Z user使tcpdump 放弃⾃⼰的超级权限(如果以root⽤户启动tcpdump, tcpdump将会有超级⽤户权限), 并把当前tcpdump的⽤户ID设置为user, 组ID设置为user⾸要所属组的ID(nt: tcpdump 此处可理解为tcpdump 运⾏之后对应的进程)此选项也可在编译的时候被设置为默认打开.(nt: 此时user 的取值未知, 需补充)命令实例:⼀、默认启动tcpdump:直接启动tcpdump将监视第⼀个⽹络接⼝上所有流过的数据包。
Tcpdump抓包命令tcpdump和ethereal可以⽤来获取和分析⽹络通讯活动,他们都是使⽤libpcap库来捕获⽹络封包的。
在混杂模式下他们可以监控⽹络适配器的所有通讯活动并捕获⽹卡所接收的所有帧。
要想设置⽹络接⼝为混杂模式并执⾏这些命令来捕获所有的⽹络封包,需要具有超级⽤户的权限。
你可以使⽤这些⼯具来探究⽹络相关问题。
你可以发现TCP/IP重发、窗⼝⼤⼩的缩放、名字解析的问题、⽹络配置错误等。
注意这些⼯具只能监控⽹络适配器所接收到的帧,并不能监控到整个⽹络的通讯情况。
参数介绍:-A 以ASCII格式打印出所有分组,并将链路层的头最⼩化。
-c 在收到指定的数量的分组后,tcpdump就会停⽌。
-C 在将⼀个原始分组写⼊⽂件之前,检查⽂件当前的⼤⼩是否超过了参数file_size中指定的⼤⼩。
如果超过了指定⼤⼩,则关闭当前⽂件,然后在打开⼀个新的⽂件。
参数 file_size的单位是兆字节(是1,000,000字节,⽽不是1,048,576字节)。
-d 将匹配信息包的代码以⼈们能够理解的汇编格式给出。
-dd将匹配信息包的代码以c语⾔程序段的格式给出。
-ddd 将匹配信息包的代码以⼗进制的形式给出。
-D 打印出系统中所有可以⽤tcpdump截包的⽹络接⼝。
-e 在输出⾏打印出数据链路层的头部信息。
-E ⽤spi@ipaddr algo:secret解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。
-f 将外部的Internet地址以数字的形式打印出来。
-F 从指定的⽂件中读取表达式,忽略命令⾏中给出的表达式。
-i 指定监听的⽹络接⼝。
-l 使标准输出变为缓冲⾏形式。
-L 列出⽹络接⼝的已知数据链路。
-m 从⽂件module中导⼊SMI MIB模块定义。
该参数可以被使⽤多次,以导⼊多个MIB模块。
-M 如果tcp报⽂中存在TCP-MD5选项,则需要⽤secret作为共享的验证码⽤于验证TCP-MD5选选项摘要(详情可参考RFC 2385)。
tcpdump连续抓包脚本(可以⾃动将dump分开存储)tcpdump是Linux下最常⽤的抓包⼯具了。
不过往往抓着抓着就忘了时间,导致整个dump⽂件有⼏GB⼤,根本⽆法⽤软件分析。
当然可以⽤⼯具分割dump⽂件,不过那⼜要耗⼀番功付。
tcpdump⾃带的-C参数是可以抓到⼀定数据包后停⽌抓包,不过怎么⽤怎么不顺⼿,于是⾃⼰写了个抓包脚本。
Shell⽤的不熟,只能写个最简单的。
原理是外⾯套⼀个循环,利⽤⾃带的-C参数,将⼀定数量数据包存成⼀个⽂件,然后给加个后缀_0 _1 ...看代码:#!/bin/bashexport TcpDump=tcpdumpexport SliPackeLen=68export SliptCapPacket=500000if [ $# -ne 2 ] && [ $# -ne 3 ]thenecho "Usage: $0 <file> <CapCount> <expression>"elsefor ((iLoop=0; iLoop<$2; iLoop++))doecho ""echo "> Capture $1_$iLoop.dmp($SliptCapFile) in $(($iLoop+1))/$2 files"echo "$TcpDump -i eth1 -s $SliPackeLen -c $SliptCapPacket -w $1_$iLoop.dmp $3"$TcpDump -i eth1 -s $SliPackeLen -c $SliptCapPacket -w $1_$iLoop.dmp $3donefiecho ""export SliPackeLen=68 定义只抓数据包头的68字节export SliptCapPacket=500000 满50W数据包就新建⼀个⽂件给脚本个名字叫z-dump_68_50w.sh,以后就可以⽤:./z-dump_68_50w.sh test3 "host 192.168.0.12 and not udp"来抓包了。
tcpdump抓包条件
tcpdump抓包条件是指在使用tcpdump工具进行网络数据包捕获时,设置的一
些条件来过滤待捕获的数据包。
以下是tcpdump抓包条件的详细描述:
1. 源IP地址和目标IP地址:可以通过设置源IP地址和目标IP地址来筛选特
定的数据流量。
通过指定源IP地址,可以只捕获来自特定源地址的数据包;通过
指定目标IP地址,可以只捕获发送到特定目标地址的数据包。
2. 端口号:可以使用源端口号和目标端口号来捕获特定端口上的数据包。
例如,可以设置只捕获目标端口号为80的数据包,以查看HTTP流量。
3. 协议类型:可以使用协议类型来筛选特定协议的数据包。
常见的协议类型包
括TCP、UDP、ICMP等。
通过指定协议类型,可以只捕获符合条件的数据包。
4. 数据帧类型:可以根据数据帧类型来选择捕获的数据包。
常见的数据帧类型
包括以太网、无线局域网等。
通过设置数据帧类型,可以只捕获指定类型的数据包。
5. 数据包长度:可以通过设置数据包长度来筛选特定长度的数据包。
通过指定
一个具体的长度或者一个范围,可以只捕获符合条件的数据包。
6. 异常条件:可以设置一些异常条件来捕获特定类型的数据包。
例如,可以设
置捕获所有传输层出现错误的数据包。
通过使用上述条件,可以按照需要来捕获特定的网络数据包。
tcpdump工具提
供了灵活的条件设置功能,使用户可以精确地控制数据包捕获过程,便于网络分析和故障排查。
tcpdump常用抓包命令TCPDump是一个基于命令行的抓包工具,它可以帮助网络管理员和安全专家捕获和分析数据包。
在网络故障排除、网络性能分析和网络安全检测等方面都有着广泛的应用。
本文将介绍TCPDump的常用抓包命令。
一、基本使用1.抓取指定网卡的数据包tcpdump -i eth0-i选项后面跟要抓取数据包的网卡名称,这里以eth0为例。
2.保存抓取到的数据包tcpdump -i eth0 -w capture.pcap-w选项后面跟要保存数据包的文件名,这里以capture.pcap为例。
3.读取已保存的数据包文件tcpdump -r capture.pcap-r选项后面跟要读取的数据包文件名,这里以capture.pcap为例。
二、过滤器使用1.根据IP地址过滤数据包tcpdump host 192.168.1.1host选项后面跟要过滤的IP地址,这里以192.168.1.1为例。
2.根据端口号过滤数据包tcpdump port 80port选项后面跟要过滤的端口号,这里以80为例。
3.根据协议类型过滤数据包tcpdump icmpicmp表示Internet控制报文协议。
4.组合使用多个条件进行过滤tcpdump host 192.168.1.1 and port 80and表示“与”的关系,即同时满足两个条件。
tcpdump host 192.168.1.1 or port 80or表示“或”的关系,即满足其中一个条件即可。
5.使用逻辑运算符进行复杂过滤tcpdump 'src net 192.168.1 and (dst net 10 or dst net 172)'这里使用了括号和逻辑运算符进行复杂的过滤,筛选出源IP地址为192.168.1开头,目的IP地址为10或172开头的数据包。
三、高级使用1.抓取指定数量的数据包tcpdump -c 100-c选项后面跟要抓取的数据包数量,这里以100为例。
tcpdump⾮常实⽤的抓包实例转⾃:详细的⽂档见基本语法========过滤主机--------- 抓取所有经过 eth1,⽬的或源地址是 192.168.1.1 的⽹络数据# tcpdump -i eth1 host 192.168.1.1- 源地址# tcpdump -i eth1 src host 192.168.1.1- ⽬的地址# tcpdump -i eth1 dst host 192.168.1.1过滤端⼝--------- 抓取所有经过 eth1,⽬的或源端⼝是 25 的⽹络数据# tcpdump -i eth1 port 25- 源端⼝# tcpdump -i eth1 src port 25- ⽬的端⼝# tcpdump -i eth1 dst port 25⽹络过滤--------# tcpdump -i eth1 net 192.168# tcpdump -i eth1 src net 192.168# tcpdump -i eth1 dst net 192.168可以加⼊-X参数,查看包内容协议过滤--------# tcpdump -i eth1 arp# tcpdump -i eth1 ip# tcpdump -i eth1 tcp# tcpdump -i eth1 udp# tcpdump -i eth1 icmp常⽤表达式----------⾮ : ! or "not" (去掉双引号)且 : && or "and"或 : || or "or"- 抓取所有经过 eth1,⽬的地址是 192.168.1.254 或 192.168.1.200 端⼝是 80 的 TCP 数据# tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host192.168.1.200)))'- 抓取所有经过 eth1,⽬标 MAC 地址是 00:01:02:03:04:05 的 ICMP 数据# tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'- 抓取所有经过 eth1,⽬的⽹络是 192.168,但⽬的主机不是 192.168.1.200 的 TCP 数据# tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'- 只抓 SYN 包# tcpdump -i eth1 'tcp[tcpflags] = tcp-syn'- 抓 SYN, ACK# tcpdump -i eth1 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0'抓 SMTP 数据----------# tcpdump -i eth1 '((port 25) and (tcp[(tcp[12]>>2):4] = 0x4d41494c))'抓取数据区开始为"MAIL"的包,"MAIL"的⼗六进制为 0x4d41494c。
tcpdump 必须使用 root 的身份执行
[root@linux ~]# tcpdump [-nn] [-i 接口] [-w 储存档名] [-c 次数] [-Ae]
[-qX] [-r 档案] [所欲撷取的数据内容]
参数:
-nn:直接以 IP 及 port number 显示,而非主机名与服务名称
-i :后面接要『监听』的网络接口,例如 eth0, lo, ppp0 等等的界面;
-w :如果你要将监听所得的封包数据储存下来,用这个参数就对了!后面接档名
-c :监听的封包数,如果没有这个参数, tcpdump 会持续不断的监听,
直到使用者输入 [ctrl]-c 为止。
-A :封包的内容以 ASCII 显示,通常用来捉取 WWW 的网页封包资料。
-e :使用资料连接层 (OSI 第二层) 的 MAC 封包数据来显示;
-q :仅列出较为简短的封包信息,每一行的内容比较精简
-X :可以列出十六进制 (hex) 以及 ASCII 的封包内容,对于监听封包内容很有用
-r :从后面接的档案将封包数据读出来。
那个『档案』是已经存在的档案,并且这个『档案』是由 -w 所制作出来的。
所欲撷取的数据内容:我们可以专门针对某些通讯协议或者是 IP 来源进行封包撷取,那就可以简化输出的结果,并取得最有用的信息。
常见的表示方法有:
'host foo', 'host 127.0.0.1' :针对单部主机来进行封包撷取
'net 192.168' :针对某个网域来进行封包的撷取;
'src host 127.0.0.1' 'dst net 192.168':同时加上来源(src)或目标(dst)限制
'tcp port 21':还可以针对通讯协议侦测,如 tcp, udp, arp, ether 等还可以利用 and 与 or 来进行封包数据的整合显示呢!
范例一:以121.9.240.130这台测试机为基础.
[root@linux ~]# tcpdump
09:25:40.856970 IP 59.37.164.34.12670 > 121.9.222.91.15649: UDP, length 82
09:25:40.857025 IP 121.9.222.64.15583 > .3001: UDP, length 82
09:25:40.857026 IP 121.9.223.171.25511 > 222.223.23.168.2471: P 1681367693:1681367882(189) ack 169128214 win 65455
09:25:40.857027 IP 121.9.222.182.15502 > 218.15.245.162.16059: UDP, length 14 09:25:40.857068 IP 119.132.101.206.3001 > 121.9.222.183.15164: UDP, length 82 09:25:40.857118 IP 121.9.222.175.15693 > 202.101.190.242.3001: UDP, length 82 09:25:40.857119 IP 121.9.222.175.15693 > 202.101.190.242.3001: UDP, length 82 09:25:40.857121 IP 59.34.127.210.43659 > 121.9.222.243.15716: UDP, length 14 09:25:40.857122 IP 121.9.222.87.15030 > 119.132.101.206.3001: UDP, length 14 09:25:40.857123 IP 121.9.222.88.15278 > 113.14.161.238.3001: UDP, length 14 09:25:40.857170 IP .3001 > 121.9.222.93.15400: UDP, length 14
09:25:40.857218 IP 58.242.202.10.3001 > 121.9.222.87.15300: UDP, length 10
09:25:40.857219 IP .3001 > 121.9.222.242.14920: UDP, length 18
186 packets captured
1293913 packets received by filter
1293348 packets dropped by kernel
按下 [ctrl]-c 之后结束
186 packets captured <==捉下来的封包数量
1293913 packets received by filter <==由过滤所得的总封包数量
1293348 packets dropped by kernel <==被核心所丢弃的封包
以红色标记的为例
09:25:40.857027:这个是此封包被撷取的时间,『时:分:秒』的单位;
IP:透过的通讯协议是 IP ;
121.9.222.88.15278 > :传送端是 121.9.222.88 这个 IP,而传送的端口为 15278,那个大于 (>) 的符号指的是封包的传输方向!
113.14.161.238.3001:接收端的 IP 是 113.14.161.238,且该主机开启端口 3001 来接收;
UDP, length 10只得是传输的协议和长度
只监听80端口
[root@linux ~]# tcpdump -nn port 80
09:52:14.508478 IP 121.9.223.242.80 > 61.152.150.162.55954: P 0:233(233) ack 1 win 1728
09:52:14.508481 IP 121.9.223.242.80 > 61.152.150.162.55954: F 233:233(0) ack 1 win 1728
09:52:14.536334 IP 121.9.223.242.80 > 61.152.150.162.55954: . ack 2 win 1728 09:52:14.563288 IP 121.9.222.104.80 > 61.152.150.152.40709: . ack 2223535384 win 1728
09:52:14.568035 IP 121.9.222.104.80 > 61.152.150.152.40709: P 0:231(231) ack 1 win 1728
09:52:14.568180 IP 121.9.222.104.80 > 61.152.150.152.40709: F 231:231(0) ack 1 win 1728
09:52:14.596534 IP 121.9.222.104.80 > 61.152.150.152.40709: . ack 2 win 1728 09:52:18.123972 IP 121.9.222.203.80 > 61.152.150.133.57066: . ack 1914833392 win 54
09:52:18.127865 IP 121.9.222.203.80 > 61.152.150.133.57066: P 0:210(210) ack 1 win 54
09:52:18.127867 IP 121.9.222.203.80 > 61.152.150.133.57066: F 210:210(0) ack 1 win 54
只监听一台主机
[root@linux ~]# tcpdump –nn host 121.9.240.130
10:03:36.924444 IP 121.9.240.130.22 > 218.13.39.225.60867: P 121872:122004(132) ack 469 win 138
10:03:36.927825 IP 218.13.39.225.60867 > 121.9.240.130.22: . ack 115732 win 46484
10:03:36.927832 IP 121.9.240.130.22 > 218.13.39.225.60867: P 122004:122300(296) ack 469 win 138
10:03:36.927884 IP 121.9.240.130.22 > 218.13.39.225.60867: P 122300:122432(132) ack 469 win 138
10:03:36.930520 IP 218.13.39.225.60867 > 121.9.240.130.22: . ack 116160 win 46537 10:03:36.930527 IP 121.9.240.130.22 > 218.13.39.225.60867: P 122432:122728(296) ack 469 win 138
10:03:36.930583 IP 121.9.240.130.22 > 218.13.39.225.60867: P 122728:122860(132) ack 469 win 138
10:03:36.935176 IP 121.9.240.130.22 > 218.13.39.225.60867: P 122860:123156(296) ack 521 win 138。