简单来说,它是把数据包 dump 到某个地方,能依据使用者的定义截取网络上的数据包进行包分析的工具。可以完整截获网络中传送数据包的“头”以供分析。它支持针对网络层、协议、主机、网络或端口进行过滤,还能提供 and、or、not 等逻辑语句来去除无用信息。

实用命令实例
默认启动
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump</pre></p>通常情况下,会直接启动并监视第一个网络接口上所有经过的数据包。
监视指定网络接口的数据包
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump -i eth1</pre></p>如果没有指定网卡,那么默认只会对第一个网络接口进行监视,通常这个接口是 eth0,并且下面的例子都没有指定网络接口。
监视指定主机的数据包
打印所有进入或离开的数据包.
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump host sundown</pre></p>可以指定 ip ,比如截获所有来自 210.27.48.1 的主机所接收的以及发出的所有数据包
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump host <span style="font-family:'Courier New'!important; color:#80080; line-height:1.5!important; font-size:12px!important">210.27</span>.<span style="font-family:'Courier New'!important; color:#80080; line-height:1.5!important; font-size:12px!important">48.1</span> </pre></p>打印 与 hot 或者与 ace 之间通信的数据包
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump 对 helios 进行监听并且(对 hot 进行监听或者对 ace 进行监听)</pre></p>截获主机 210.27.48.1 的通信,或者截获主机 210.27.48.2 的通信,或者截获主机 210.27.48.3 的通信
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump 捕获主机为 210.27.48.1 且(主机为 210.27.48.2 或 210.27.48.3)</pre></p>打印 ace 与其他主机通信的 IP 数据包,不包括与某些特定主机之间的数据包。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">使用 tcpdump 捕获 IP 主机为 ace 且不是 helios 的数据包。</pre></p>如果想要获取主机 210.27.48.1 与除主机 210.27.48.2 之外其他主机通信的 ip 包,就使用该命令:
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">使用 tcpdump 命令来捕获 IP 数据包,这些数据包的源地址或目的地址是 210.27.48.1 ,并且不是 210.27.48.2 。</pre></p>截获主机发送的所有数据
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">使用 tcpdump 命令并指定网络接口为 eth0,同时指定源主机为 hostname</pre></p>
监视所有送到主机的数据包
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">使用 tcpdump 命令并指定接口为 eth0,目标主机为 hostname</pre></p>监视指定主机和端口的数据包
要获取主机 210.27.48.1 接收或发出的包,可使用如下命令。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump tcp port <span style="font-family:'Courier New'!important; color:#80080; line-height:1.5!important; font-size:12px!important">23</span> host <span style="font-family:'Courier New'!important; color:#80080; line-height:1.5!important; font-size:12px!important">210.27</span>.<span style="font-family:'Courier New'!important; color:#80080; line-height:1.5!important; font-size:12px!important">48.1</span></pre></p>对本机的udp 123端口进行监视123为ntp的服务端口
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump udp port 123 </pre></p>监视指定网络的数据包
打印本地主机与网络上主机之间的通信数据包。其中,网络地址为 ucb-ether,此表达式最初的含义是打印网络地址为 ucb-ether 的所有数据包。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump net ucb-ether</pre></p>打印通过网关 snup 的 ftp 数据包。需要注意的是,表达式被单引号括起来了,这样做可以防止 shell 对其中的括号进行错误解析。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump <span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">gateway snup 以及(port ftp 或者 ftp-data)</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span></pre></p>打印所有源地址或目标地址是本地主机的IP数据包
如果本地网络是通过网关与另一个网络相连接的,那么另一个网络不能被视为本地网络。(注:此句翻译较为曲折,需要进行补充说明)在实际使用中,要将其真正替换成本地网络的名称。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">使用 tcpdump 来捕获包含 IP 协议且不属于本地网络的数据包。通过这种方式,可以对特定网络环境中的 IP 流量进行监控和分析,以便更好地了解网络活动和排查网络问题。它能够过滤出那些来自或去往外部网络的 IP 数据包,而不包括本地网络内部的通信流量。</pre></p>监视指定协议的数据包
打印 TCP 会话中的开始数据包,并且数据包的源或目的不是本地网络上的主机。打印 TCP 会话中的结束数据包,并且数据包的源或目的不是本地网络上的主机。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump <span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">tcp 的 tcpflags 与 (tcp-syn 或 tcp-fin) 进行按位与运算的结果不为 0 ,并且没有 src ,同时 dst 属于 localnet 。</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span></pre></p>打印的数据包需满足以下条件:源或目的端口为 80,网络层协议为 IPv4,且含有数据,同时不能是 SYN、FIN 以及 ACK-only 等不含数据的数据包。(ipv6 的版本的表达式可做练习)
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump <span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">tcp 端口 80 以及 (((ip 的第 2 位到第 2 位 减去 ((ip 的第 0 位与 0xf 进行按位与运算后的结果 )<<2)) - ((tcp[12]&0xf0)>>2)) != 0)</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span></pre></p>可理解为,ip 的第 2 位到第 2 位表示整个 ip 数据包的长度,ip 的第 0 位与 0xf 进行与运算后再大于 4 表示 tcp 头的长度,此域的单位是 32bit,换算成比特数为 ((tcp 的第 12 位与 0xf0 进行与运算后再右移 4 位)乘以 2)。整个 ip 数据包的长度减去 ip 头的长度,再减去 (ip 的第 0 位与 0xf 进行与运算后乘以 2)不等于 0 表示:整个 ip 数据包的长度减去 ip 头的长度,再减去
tcp 头的长度不为 0 ,这意味着 ip 数据包中有数据。对于 ipv6 版本,只需考虑 ipv6 头中的“ ”与“tcp 头的长度”的差值,并且其中的表达方式“ip[]”需换成“ip6[]”。
打印长度超过 576 字节的数据包,且该数据包的网关地址是 snup 的 IP 地址
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump <span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">网关 snup 以及 ip 的第 2 位到第 2 位大于 576 。</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span></pre></p>
打印所有属于 IP 层的广播或多播数据包,并且这些数据包不是物理以太网层的广播或多播数据报。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump <span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">ether[0] 与 1 进行按位与运算的结果为 0 ,并且 ip[16] 大于或等于 224 。</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span></pre></p>打印以下类型的 ICMP 数据包:不是“echo ”类型,也不是“echo reply”类型。例如,当需要打印所有非 ping 程序产生的数据包时,可以使用此表达式。
“echo”类型和“echo reply”类型的 ICMP 数据包一般是由 ping 程序生成的。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">tcpdump <span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">icmp 的 icmptype 不等于 icmp-echo ,并且 icmp 的 icmptype 也不等于 icmp-echoreply 。</span><span style="font-family:'Courier New'!important; line-height:1.5!important; font-size:12px!important">'</span></pre></p>与
曾经有一款非常简单易用的抓包工具。然而,在 Linux 系统中,很难找到一个令人满意的图形化抓包工具。
还好有。我们能够通过以下完美组合来实现:在 Linux 系统中进行抓包操作,接着在相应的环境里对包进行分析。
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">最后将抓取到的数据包保存到./target.cap 文件中。</pre></p>tcp、ip、icmp、arp、rarp 这些选项以及 tcp、udp、icmp 等都需放置在第一个参数的位置,以用于过滤数据报的类型。
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
抓取数据包时,原本默认抓取的长度是 68 字节。当加上-S 0 之后,就能够抓到完整的数据包。
(5)-c 100 : 只抓取100个数据包
不抓取目标端口为 22 的数据包。
数据包的源网络地址是 192.168.1.0 且子网掩码为 255.255.255.0
将其保存为 cap 文件,这样便于进行分析。
使用抓取HTTP包
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre style="margin-top:0px; font-family:'Courier New'!important; word-wrap:break-word; white-space:pre-wrap; margin-bottom:0px; font-size:12px!important">使用 tcpdump 进行抓包操作,设置参数为 -XvvennSs 0 并指定网络接口为 eth0 ,抓取的条件是 tcp 报文头部的第 20 字节到第 21 字节的值为 0x4745 或者为 0x4854 。</pre></p>“GET”的前两个字母是“GE”,“HTTP”的前两个字母是“HT”。
截获的数据未被彻底解码,数据包内的大部分内容是以十六进制形式直接打印输出的。这显然不利于分析网络故障。通常的解决办法是,先使用带 -w 参数的方式截获数据并保存到文件中,接着再使用其他程序(如)进行解码分析。当然,也需要定义过滤规则,以防止捕获的数据包将整个硬盘填满。
# tcpdump:截获与分析网络数据包的实用工具及命令实例
# tcpdump
# 截获与分析网络数据包的实用工具及命令实例
# 数据包
# 第一个
# 到第
# 网络地址
# 不为
# 不等于
# 进行分析
# 的是
# 或多
# 源地址
# 也不
# 还能
# 是由
# 中有
# 只需
# 将其
# 它是
# 而不
# 这样做
# 如果没有
# 社交媒体营销推广的特点
# 宁陵网站建设报价公示
# seo建站推广
# 专业的网站建设兼职
# 企业seo排名有 名
# 海外营销推广哪里好点
# 符合抖音seo规则
# 济宁营销推广获客系统
# 最新外贸seo
# 成都营销推广哪家服务好
# 科技主题营销推广策略
# 校园网站建设计划
# seo引擎优化怎么念
# 黑河网站优化怎么做
# 如何使用seo打造
# 网络营销设计推广招聘
# 个人网站建设免费咨询
# 网站建设拓扑结构包括
# 英文网站百度能推广吗
# 陇南seo公司联系21火星
相关文章:
关键词5-如何打破困局,释放无穷潜力?,网站seo优化服务商
3种非常火爆的APP推广方法以及实用小技巧分享!
利用漫画资源引流变现的网赚项目思路分享!
如果不通过广告联盟,广告主和流量主直接合作会产生哪些后果?
可以单人做任务来赚钱的项目有哪些?有哪些靠谱的平台推荐?
2个超级暴利非常赚钱的网络淘金项目操作思路分享!
想要快速引流获客?qq群营销的这6大主要手段必须掌握!
互联网时代,这9大app网络推广方法必须得掌握!
SEO分类:从基础到进阶,全面解析SEO优化的关键要素,宁波seo行业价格表
中国AI软实力崛起:技术创新与产业应用的完美融合,五金门店营销推广方案
新手必看的全网引流渠道及引流思路介绍!
SEO考核:如何通过精准的SEO优化提升网站排名与流量,营销方案推广模板
网络广告联盟计费方式是怎样的?
【站长联盟】个人站长怎么通过网站赚钱?
世界上最热门的十款社交软件,你知道是哪些吗?
利用快手进行引流推广产品的赚钱秘诀分享!
SEO韩国:为您开启国际市场的增长之门,浙江seo培训推荐
网站营销之seo优化排名的好处以及如何提升转化效果
揭秘通过广告联盟年入百万所需要哪些条件!
SEO部:开启数字化营销新纪元的幕后英雄,餐饮网站seo优化电话
SEO流程全解析:如何提升网站流量与排名,常州网站制作与推广
优采云:推动企业采购智能化的行业革新者,宁波快速网站建设
常见的五种网络兼职赚钱骗局套路,一定要小心!
SEO导流:如何通过精准优化实现网站流量大爆发,免费seo优化公司
SEO改进:让你的网站排名跃升的秘密武器,网站推广排名联系方式
在微信公众号上投放cpc广告需要注意的几点问题,否则赔了夫人又折兵!
单价一般多少钱?有没有高价单子呢?
最简单的男粉引流过千的方法,推广交友产品必看!
SEO联系:如何通过SEO优化提升您的网络营销效果,黄陵360推广网站在哪
推广的常见的4个另类做法,你是不是也实验过?
如何利用闲鱼引流推广赚钱?做好了日赚几百不是问题!
SEO每日:提高网站流量的秘密武器,助你脱颖而出,济宁互联网推广营销公司
类app推广平台去哪找?哪家的推广效果好?
最详细的十个网站营销策略!以后再也不用担心网站的流量啦!
为什么“蜘蛛弛查询”能成为提升网站排名的秘密武器?,无锡荣巷街道网站建设
“扩写AI”-引领写作革命,开启智能创作新时代,关键词seo优化网站seo技术
通过淘客联盟赚钱的4种主流的淘客app模式分析!
优化投入,让企业更具竞争力,珠海网站优化培训
优化标题:如何让你的文章更具吸引力与点击力,牙科医院网站优化怎么做
SEO详解:如何优化你的网站提升排名,获得更多流量,历城区网站优化
关键词截流:数字营销中的制胜利器,抖音推广怎么做热门网站
仿写AI:智能时代的创作革命,菏泽网站建设优化
“曝光量扩大,助力品牌腾飞的秘密武器”,甘蔗醋如何推广营销
内容简洁,让沟通更高效,网站的推广ppt
广告模式有什么好处?广告计费的方式是什么?
谷歌封停申诉规则是什么,腾讯客服账号解封申诉
5种最新的网络兼职赚钱项目,做好了轻松赚钱!
如何利用引流脚本通过广告联盟等渠道收益月入过万?
SEO组织:让您的网站流量倍增的秘密武器,ebay的付费营销推广
新手不知道如何引流?教你几招精准吸粉!
*请认真填写需求信息,我们会在24小时内与您取得联系。