下面的例子全是以抓取eth0接口为例,如果不加”-i eth0”是表示抓取所有的接口包括lo。

首先安装tcpdump包:yum install -y tcpdump

1、抓取包含172.16.1.122的数据包

# tcpdump -i eth0 -vnn host 172.16.1.122

2、抓取包含172.16.1.0/24网段的数据包

# tcpdump -i eth0 -vnn net 172.16.1.0/24

3、抓取包含端口22的数据包

# tcpdump -i eth0 -vnn port 22

4、抓取udp协议的数据包

# tcpdump -i eth0 -vnn  udp

5、抓取icmp协议的数据包

# tcpdump -i eth0 -vnn icmp

6、抓取arp协议的数据包

# tcpdump -i eth0 -vnn arp

7、抓取ip协议的数据包

# tcpdump -i eth0 -vnn ip

8、抓取源ip是172.16.1.122数据包。

# tcpdump -i eth0 -vnn src host 172.16.1.122

9、抓取目的ip是172.16.1.122数据包

# tcpdump -i eth0 -vnn dst host 172.16.1.122

10、抓取源端口是22的数据包

# tcpdump -i eth0 -vnn src port 22

11、抓取源ip是172.16.1.253且目的ip是22的数据包

# tcpdump -i eth0 -vnn src host 172.16.1.253 and dst port 22

12、抓取源ip是172.16.1.122或者包含端口是22的数据包

# tcpdump -i eth0 -vnn src host 172.16.1.122 or port 22

13、抓取源ip是172.16.1.122且端口不是22的数据包

[root@ ftp]# tcpdump -i eth0 -vnn src host 172.16.1.122 and not port 22

14、抓取源ip是172.16.1.2且目的端口是22,或源ip是172.16.1.65且目的端口是80的数据包。

# tcpdump -i eth0 -vnn \( src host 172.16.1.2 and dst port 22 \) or   \( src host 172.16.1.65 and dst port 80 \)

15、抓取源ip是172.16.1.59且目的端口是22,或源ip是172.16.1.68且目的端口是80的数据包。

# tcpdump -i  eth0 -vnn 'src host 172.16.1.59 and dst port 22' or  ' src host 172.16.1.68 and dst port 80 '

16、把抓取的数据包记录存到/tmp/fill文件中,当抓取100个数据包后就退出程序。

# tcpdump –i eth0 -vnn -w  /tmp/fil1 -c 100

17、从/tmp/fill记录中读取tcp协议的数据包

# tcpdump –i eth0 -vnn -r  /tmp/fil1 tcp

18、从/tmp/fill记录中读取包含172.16.1.58的数据包

# tcpdump –i eth0 -vnn -r  /tmp/fil1 host  172.16.1.58

tcpdump抓包并保存成cap文件

首选介绍一下tcpdump的常用参数

tcpdump采用命令行方式,它的命令格式为:

tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]

[ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]

[ -T 类型 ] [ -w 文件名 ] [表达式 ]

1. tcpdump的选项介绍

-a    将网络地址和广播地址转变成名字;

-d    将匹配信息包的代码以人们能够理解的汇编格式给出;

-dd    将匹配信息包的代码以c语言程序段的格式给出;

-ddd    将匹配信息包的代码以十进制的形式给出;

-e    在输出行打印出数据链路层的头部信息;

-f    将外部的Internet地址以数字的形式打印出来;

-l    使标准输出变为缓冲行形式;

-n    不把网络地址转换成名字;

-t    在输出的每一行不打印时间戳;

-v    输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;

-vv    输出详细的报文信息;

-c    在收到指定的包的数目后,tcpdump就会停止;

-F    从指定的文件中读取表达式,忽略其它的表达式;

-i    指定监听的网络接口;

-r    从指定的文件中读取包(这些包一般通过-w选项产生);

-w    直接将包写入文件中,并不分析和打印出来;

-T    将监听到的包直接解释为指定的类型的报文,常见的类型有rpc(远程过程

调用)和snmp(简单网络管理协议;)

当网络出现故障时,由于直接用tcpdump抓包分析有点困难,而且当网络中数据比较多时更不容易分析,使用tcpdump的-w参数+ethereal分析会很好的解决这个问题,具体参数如下:

tcpdump -i eth1 -c 2000 -w eth1.cap

-i eth1 只抓eth1口的数据

-c 2000代表数据包的个数,也就是只抓2000个数据包

-w eth1.cap 保存成cap文件,方便用ethereal分析

抓完数据包后ftp到你的FTP服务器,put一下,然后用ethereal软件打开就可以很直观的分析了

注:有时将.cap文件上传到FTP服务器后,发现用ethreal打开时提示数据包大于65535个,这是你在ftp上传或者下载的时候没有用bin的模式上传的原因。

另:有的网站提示在tcpdump中用-s 0命令,例如 tcpdump -i eth1 -c 2000 -s0 -w eth1.cap,可实际运行该命令时系统却提示无效的参数,去掉-s 0参数即可

例子:

[root@localhost cdr]#tcpdump -i eth0 -t tcp -s 60000 -w diaoxian.cap

[root@localhost cdr]# tcpdump host 58.240.72.195 -s 60000 -w x.cap

tcpdump 的抓包保存到文件的命令参数是-w xxx.cap

抓eth1的包

tcpdump -i eth1 -w /tmp/xxx.cap

抓 192.168.1.123的包

tcpdump -i eth1 host 192.168.1.123 -w /tmp/xxx.cap

抓192.168.1.123的80端口的包

tcpdump -i eth1 host 192.168.1.123 and port 80 -w /tmp/xxx.cap

抓192.168.1.123的icmp的包

tcpdump -i eth1 host 192.168.1.123 and icmp -w /tmp/xxx.cap

抓192.168.1.123的80端口和110和25以外的其他端口的包

tcpdump -i eth1 host 192.168.1.123 and ! port 80 and ! port 25 and ! port 110 -w /tmp/xxx.cap

抓vlan 1的包

tcpdump -i eth1 port 80 and vlan 1 -w /tmp/xxx.cap

抓pppoe的密码

tcpdump -i eth1 pppoes -w /tmp/xxx.cap

以100m大小分割保存文件, 超过100m另开一个文件 -C 100m

抓10000个包后退出 -c 10000

后台抓包, 控制台退出也不会影响:

nohup tcpdump -i eth1 port 110 -w /tmp/xxx.cap &

抓下来的文件可以直接用ethereal 或者wireshark打开。 wireshark就是新版的ethereal,程序换名了

sudo tcpdump -s0 -A host 192.168.234.249

sudo tcpdump -i eth0 -vnn port 8100

转载自:

tcpdump 抓包实时打印_tcpdump抓包规则常用命令相关推荐

  1. 多包管理工具lerna搭建项目---基本常用命令

    基本常用命令 Step 1 安装Lerna 推荐全局安装,因为会经常用到 lerna 命令 npm i -g lerna Step 2 项目初始化 lerna init 其中 package.json ...

  2. tcpdump抓包ftp协议_tcpdump抓包并保存成cap文件

    首选介绍一下tcpdump的常用参数 tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接 ...

  3. tcpdump抓包ftp协议_tcpdump抓包分析详解

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  4. tcpdump抓包ftp协议_tcpdump抓包使用方法详解

    tcpdump抓包分析详解 [root@linux ~]#tcpdump [-nn] [-i 接口] [-w 储存档名] [-c 次数] [-Ae][-qX] [-r 档案] [所欲撷取的数据内容] ...

  5. tcpdump显示udp包_TCPdump抓包命令详解

    TCPdump抓包命令 tcpdump是一个用于截取网络分组,并输出分组内容的工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具. tcpdu ...

  6. tcpdump显示udp包_TCPDUMP 抓包 , 怎么查看 抓的包的内容呢?

    tcpdump -q -X udp port 3333 用了上面的命令,但是得到的结果还是不能够直接看出包的内容. 是不是还要添加什么参数. cpdump: verbose output suppre ...

  7. tcpdump抓两个网卡的包_Linux下网络抓包命令tcpdump详解(在wireshark中看包)

    tcpdump -i eth0 -c 2000 -w eth0.cap tcpdump采用命令行方式,它的命令格式为: tcpdump[ -adeflnNOpqStvx ] [ -c 数量 ] [ - ...

  8. tcpdump 网络抓包工具常用命令(转)

    一.简介 tcpdump是一个用于截取网络分组,并输出分组内容的工具.凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具 tcpdump提供了源代码,公开了接口, ...

  9. 简单的tcpdump抓包使用总结:抓取指定ip、指定网卡、指定端口的包

    1.今天由于需要抓包研究网络问题,所以研究了一下抓取指定ip.指定网卡.指定端口的包并且输入到文件中 2 tcpdump与Wireshark介绍 在网络问题的调试中,tcpdump应该说是一个必不可少 ...

最新文章

  1. 修改值类型的实例方法 mutating
  2. java文字转pdf格式_java根据富文本生成pdf文件
  3. 不同版本gene ID比较
  4. java return none,返回列表结果为none
  5. 连接excel执行Insert Into语句出现“操作必须使用一个可更新的查询”的解决
  6. java异步多线程 判断线程状态_java多线程和异步回调
  7. 1、oracle数据库简介
  8. Android App 的主角:Activity
  9. 百分百储值卡回收网站源码+手机模板
  10. Java一句话获取系统目前年份
  11. 案例-旋转木马(CSS3)
  12. Ubuntu安装MPICH3集群计算环境
  13. Dev Grid 添加行号
  14. java架构师之路-并发编程
  15. Chromecast电视投屏软件
  16. Ubuntu 切换谷歌拼音
  17. c语言switch求利息,switch语句 利息计算器
  18. coms 传输门棍棒图_棍棒和石头可能会伤到我的骨头,但反馈绝对不会伤害我
  19. 全站仪坐标计算机公式,全站仪测量时,坐标n,e,z如何对应于图形坐标x,y,z?...
  20. 2018中国十大品牌在线英语培训机构排行榜暴风来袭

热门文章

  1. 爱加密:解析APP开发团队生存难题
  2. idea设置护眼色(看这一遍即可)
  3. 操作性工具多用才能生巧,游戏动画1N轮回/1N版本
  4. vue-admin-template,连接自己后台,二次开发必看
  5. BZOJ 1023: [SHOI2008]cactus仙人掌图
  6. 使用pdfbox2.0将PDF转换为图片时后台报Cannot read JBIG2 image: jbig2-imageio is not installed错误的解决方法
  7. 最好的生活方式,说得太对了!(收藏这10句话)
  8. oppor17刷鸿蒙系统,OPPO R17 Pro正式发布 配置性能大盘点
  9. android 华为手机 log,华为安卓实机调试不显示logcat的解决方法
  10. md5加密及防止篡改