tcpdump抓包
tcpdump 抓包参数

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系统中,网络监控是一项非常关键的工作。
通过对网络数据包进行抓取和分析,可以帮助我们解决网络故障、优化网络性能以及保障网络安全。
本文将介绍两个常用的网络监控工具: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 简介二、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命令高级技巧通过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进行网络抓包

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抓包及分析方法1

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抓包条件

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 协议类型过滤】协议类型过滤是指捕获指定协议类型的数据包。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。