千家信息网

tcpdump命令怎么在Linux系统中使用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本文章向大家介绍tcpdump命令怎么在Linux系统中使用,主要包括tcpdump命令怎么在Linux系统中使用的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以
千家信息网最后更新 2026年11月02日tcpdump命令怎么在Linux系统中使用

本文章向大家介绍tcpdump命令怎么在Linux系统中使用,主要包括tcpdump命令怎么在Linux系统中使用的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

命令简介

tcpdump是一款强大的网络抓包工具,运行在Linux平台上。熟悉tcpdump的使用能够帮助我们分析、调试网络数据。但是要想很好地掌握tcpdump, 就必须对网络报文(TCP/IP协议)有一定的了解。不过对于简单的使用来说,只要有网络基础概念就行了。

作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一。在实际工作中,需要以root权限去执行该命令。

tcpdump是一个很复杂的命令,想了解它的方方面面非常不易,也不值得推荐,能够使用它解决日常工作中的问题才是关键,所以,以下的总结我将更侧重于从实际工作出发,整理一些实际工作中经常用到的用法,对于一些冷门用法,我这里基本不会涉及,如果日后在工作中用到了,我这里也会更新进来。

命令详解
下面就先对tcpdump一些常用的选项进行总结。

  • -s number:tcpdump默认只会截取前96字节的内容,要想截取所有的报文内容,就需要使用这个选项,其中number是需要截取的报文字节数,如果是0的话,表示截取报文全部内容;

  • -nn:表示不解析域名,直接显示IP,在netstat命令中,也有这个选项;

  • -X:同时使用hex和ascii显示报文内容;

  • -S:显示绝对的序列号(sequence number),而不是相对编号;

  • -i:指定监听的网卡,如果为-i any则表示监听所有的网卡;

  • -v,-vv,-vvv:显示更多的详细信息;

  • -c number:表示截取number个报文,然后结束;

  • -w:将监听到的数据包写入文件中保存,而并不分析和打印出来;

  • -A:只使用ascii打印报文的全部数据,不要和-X选项一起使用。截取HTTP请求的时候可以用sudo tcpdump -nSA port 80

虽然tcpdump命令的选项特别多,但是常用的选项也就上面那几个,我这里将更多的把注意力放在使用实例上,通过使用实例来学习tcpdump这个命令。

过滤器

先进行使用实例详解时,有必要先掌握tcpdump一些基本的使用理论知识,先来说说过滤器。

在服务器上的网络报文是异常的多,很多时候我们只关注和具体问题有关的数据报文,而这些有用的报文只占到很小的一部分,为了不让我们在报文的海洋里迷失自己,我们就非常有必要学习一下tcpdump提供的灵活而且功能强大的过滤器。

过滤器也可以简单地分为三类:type,dir和proto。

type:主要用来区分过滤报文源类型,主要由host主机报文,net网段报文和port指定端口的报文组成;

dir:只过滤报文的源地址和目的地址,主要包括src源地址和dst目的地址;

proto:只过滤报文的协议类型,支持tcp,udp和icmp等;使用的时候可以省略proto关键字:

  • tcpdump -i eth2 arp

  • tcpdump -i eth2 ip

  • tcpdump -i eth2 tcp

  • tcpdump -i eth2 udp

  • tcpdump -i eth2 icmp

在我们使用tcpdump命令时是离不开这些过滤器的。

条件组合

在茫茫网络中,想要找到那个你想要的网络包,还是有一定难度的。为了抓住那个我们想要的网络包,在我们抓包命令中,包含越多的限制条件,抓的无关包就会越少,所以在进行抓包时,我们可以使用"与"(and、&&)、"或"(or、||)和"非"(not、!)来将多个条件组合起来。这对我们需要基于某些条件来分析网络包是非常有用的。

使用实例

命令:tcpdump -i eth2

说明:监视指定网络接口的数据包

命令:tcpdump host 210.27.48.3

说明:截获210.27.48.3主机收到的和发出的所有数据包

命令:tcpdump host 210.27.48.4 and (210.27.48.5 or 210.27.48.6)

说明:截获210.27.48.3主机和210.27.48.5或者210.27.48.6主机进行通信的所有数据包

命令:tcpdump net 192.168.1.0/24

说明:截获192.168.1.0/24整个网络的数据包

命令:tcpdump -i eth0 src host 210.27.48.3

说明:监视eth0网卡上源地址是210.27.48.3的所有网络包

命令:tcpdump -i eth0 dst host 210.27.48.3

说明:监视eth0网卡上目的地址是210.27.48.3的所有网络包

命令:tcpdump tcp port 23 and host 210.27.48.3

说明:获取主机210.27.48.3上端口为23的应用发出和接收的所有TCP协议包

命令:tcpdump udp port 123

说明:获取本机123端口发出和接收的所有UDP协议包

命令:tcpdump src host 10.126.1.222 and dst net 10.126.1.0/24

说明:截获源主地址为10.126.1.222,目的地址是10.126.1.0/24整个网络

命令:tcpdump -i eth0 -s0 -G 60 -Z root -w %Y_%m%d_%H%M_%S.pcap

说明:抓取报文后按照指定时间间隔保存;-G选项后面接时间,单位为秒;上述命令就是每隔60秒生存一个文件

命令:tcpdump -i eth0 -s0 -C 1 -Z root -w eth0Packet.pcap

说明:抓取报文后按照指定报文大小保存;-C选项后接文件大小,单位为MB;上述命令就是每抓包文件达到1MB时就使用一个新的文件保存新抓的报文

到此这篇关于tcpdump命令怎么在Linux系统中使用的文章就介绍到这了,更多相关的内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

命令 报文 网络 系统 地址 数据 主机 内容 实例 文件 过滤器 工作 工具 条件 目的 网卡 分析 强大 实际 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳恒合互联网络科技有限公司 河南真二互联网科技有限公司 互联网科技有限公司图片 易互联网科技有限公司 狮子座互联网科技 丰台科技园 互联网 互联网科技宣传片 恒生科技互联网指数分析 中国互联网有什么科技含量 北京华百购互联网科技有限公司 银川新华互联网科技职业技术培训学校图片 来此购互联网科技有限公司 想开互联网科技公司怎么样 浙南科技城互联网大厦建设工程 特约风豹互联网科技为什么扣费 中科明德北京互联网科技 互联网营销推广黑科技 福建互联网展示科技馆设计 全球科技与互联网公司市值变化 上海万顺科技互联网有限公司招聘 互联网科技工作委员会主任 互联网科技行业发展 中资互联网科技 互联网金融 金融科技 互联网科技排名 国外互联网科技网站 互联网科技商业 互联网与数字科技关系 兰石爱特工业互联网科技分公司 网互联网络科技
0