码迷,mamicode.com
首页 > 其他好文 > 详细

tcpdump抓包命令

时间:2017-05-04 23:15:50      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:tcpdump   抓包   

该命令是抓包分析工具,可以将数据包的头或者是整个包抓取下来进行分析,支持针对特定协议、主机进行过滤,同时支持逻辑操作。


#抓取本机第一个网络接口通常是eth0上所有的包
tcpdump
#抓取指定指定网卡上的的所有包
tcpdump -i eth0


抓取特定主机收到的和发出的所有包,这里的IP不是说包里有这个IP,而是说抓取流经这个主机的进出所有包

# -n 是显示IP和端口,也就是不解析主机名
tcpdump -n host [IP]

技术分享抓取特定主机之间的所有IP协议数据包

# 这里的ip指的是IP协议,and表示两个主机之间
tcpdump -n ip host 192.168.51.188 and 192.168.51.164
# 扩展:获取51.188与51.164或者51.165主机之间的IP协议通信
tcpdump -n ip host 192.168.51.188 and \(192.168.51.164 or 192.168.51.165\)

技术分享

参数说明
-a将网络地址和广播地址转换成名字
-d将匹配数据包的代码用汇编格式输出
-dd将匹配数据包的代码用C语言格式输出
-n不把网络地址转换成名字
-nn以IP和端口来显示
-t不打印时间戳,默认输出每行开头是时间戳
-v输出详细信息
-vv
输出详细的报文信息
-c
在收到多少数据包后,停止获取。
-i
指定监听的网络接口
-w
将获取的信息写入文件而不是输出到控制台
-e每行打印输出中包含数据包的数据链路层头信息
-x打印每个包的头信息,以16进制打印出每个包的数据。
-xx打印每个包的头信息,以16进制打印出每个包的数据,包含数据链路层的头部。
-X当分析和打印时,会打印每个包的头信息,同时以16进制和ASCII码形式打印每个包的数据,但是不包括链路层头信息。
-XX当分析和打印时,会打印每个包的头信息,同时以16进制和ASCII码形式打印每个包的数据,包括链路层头信息。

类型关键字:

  • host 指定主机名称或者IP

  • net 指定网段

  • port 指定端口

传输方向:

  • src 源

  • dst 目标

协议关键字:fddi、ip、tcp、udp、arp、rarp等。


获取主机51.188除了和51.164之外的所有IP通信

tcpdump -n ip host 192.168.51.188 and ! 192.168.51.164

技术分享


获取源IP为172.16.100.212到本机的IP请求,并且不解析主机名,获取2个数据包就停止

tcpdump -n -c 2 ip src 172.16.100.212

技术分享


获取指定主机指定端口的IP协议包

tcpdump  -n -c 2 host 192.168.51.188 and port 80

技术分享


抓取一个HTTP包

0x4745表示“GET”中的GE,0x4854表示“HTTP”中的HT

tcp[20:2],表示长度

tcpdump  -XvvennSs 0 -i em1 -c 5 tcp[20:2]=0x4745 or tcp[20:2]=0x4854

技术分享

本文出自 “小恶魔的家” 博客,请务必保留此出处http://littledevil.blog.51cto.com/9445436/1922087

tcpdump抓包命令

标签:tcpdump   抓包   

原文地址:http://littledevil.blog.51cto.com/9445436/1922087

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!