下面的例子全是以抓取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. 查看Mat对象的数据的三种方法
  2. vue的post请求data可以传两个参吗_我知道的HTTP请求
  3. hapi和typescript构建项目(正在更新中)
  4. Spring 事务管理总结
  5. centos 下memcached 构建以及php memcache安装
  6. mac weka连接mysql_weka连接mysqllinux
  7. Ant—如何Windows操作系统中搭建Apache Ant环境
  8. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_14_匿名内部类方式实现线程的创建...
  9. java jsp中文乱码怎么解决_分享JSP中文乱码解决方法
  10. 多层感知机BP算法推导
  11. 万变不离CHP 天霆“交付”多元化应用
  12. Android 获取手机号码
  13. 区块链报告会心得体会3000_实习心得体会3000字篇【优秀篇】
  14. 十二 iOS之 折叠图片
  15. 网络技术基础概念总结
  16. 高通--PMIC修改(三)
  17. 免费下载Xcode的各个版本
  18. 入职避坑指南(杭州)
  19. LintCode 题目:LintCode的使用以及A + B 问题
  20. 阿里云服务器中挖矿木马处理过程

热门文章

  1. 为什么Python多线程反而更慢了?
  2. CCF 201609-3 炉石传说 解题报告 模拟
  3. 13、计算机网络的七层模型、四层模型 以及 五层模型
  4. python实训项目
  5. 看漫画也能学Java?大佬亲自带你进入Java的世界
  6. Excel设置根据条件整行变色
  7. 微软和苹果笔记本键盘对比_看看微软,谷歌和苹果的平面设计方法
  8. 电脑音频图标显示红叉,出现问题解决方法
  9. 拼多多搜索商品详情分析接口代码对接教程
  10. 学习记录(六)(每日修改)