开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

tcpdump 命令详解

简介:
+关注继续查看
福利推荐:阿里云、腾讯云、华为云等大品牌云产品全线2折优惠活动来袭,4核8G云服务器899元/3年,新老用户共享优惠,点击这里立即抢购>>>

日常使用


tcpdump?-i?eth0?src?192.168.7.44?and?port?80

tcpdump -i eth1 -s 0 tcp port 7508 -w 97.cap

抓取vrrp协议的数据包

tcpdump -i em2 vrrp

监听memcache端口7019是否有连接

tcpdump ?-i eth1 port 7019





(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(简单网络管理协议;


说是大全其实我列取得只是一些常用的命令与大家分享。
?
下面的例子全是以抓取eth0接口为例,如果不加”-i eth0”是表示抓取所有的接口包括lo。
?
1、抓取包含10.10.10.122的数据包?
# tcpdump -i eth0 -vnn host 10.10.10.122
?
2、抓取包含10.10.10.0/24网段的数据包
# tcpdump -i eth0 -vnn net 10.10.10.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是10.10.10.122数据包。
# tcpdump -i eth0 -vnn src host 10.10.10.122
?
9、抓取目的ip是10.10.10.122数据包
# tcpdump -i eth0 -vnn dst host 10.10.10.122
?
10、抓取源端口是22的数据包
# tcpdump -i eth0 -vnn src port 22
?
11、抓取源ip是10.10.10.253且目的ip是22的数据包
# tcpdump -i eth0 -vnn src host 10.10.10.253 and dst port 22
?????????????????
12、抓取源ip是10.10.10.122或者包含端口是22的数据包
# tcpdump -i eth0 -vnn src host 10.10.10.122 or port 22
?
13、抓取源ip是10.10.10.122且端口不是22的数据包
[root@ ftp]# tcpdump -i eth0 -vnn src host 10.10.10.122 and not port 22


14、抓取源ip是10.10.10.2且目的端口是22,或源ip是10.10.10.65且目的端口是80的数据包。
# tcpdump -i eth0 -vnn \( src host 10.10.10.2 and dst port 22 \) or?? \( src host 10.10.10.65 and dst port 80 \)

?

15、抓取源ip是10.10.10.59且目的端口是22,或源ip是10.10.10.68且目的端口是80的数据包。
[root@localhost ~]# tcpdump -i? eth0 -vnn 'src host 10.10.10.59 and dst port 22' or? ' src host 10.10.10.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记录中读取包含10.10.10.58的数据包

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






? ? ? 本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1657860,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux tcpdump命令详解
原文地址:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。
893 0
tcpdump一个命令的剖析
简单介绍:用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。
976 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载


http://www.vxiaotou.com