tcpdump抓包工具

101 阅读1分钟

tcpdump抓包工具

tcpdump是一款Linux网络抓包工具,支持功能较多如指定端口、地址、协议以及监听地址范围通信。

#抓包eth0控制报文  
  tcpdump  -i  eth0  -nn  icmp  

  #监听特定网卡  
  Tcpdump  -i  en0  

  # 监听特定主机,监听主机 10.0.0.100 的通信包(出、入包)  
  tcpdump  host  10.0.0.100  

  #特定来源  
  tcpdump  src  host  hostname  
  
  # 特定目标地址  
  tcpdump  dst   host  hostname  

  # 如果不能指定src 跟dst,那么来源或目标是hostname的通信都会被监听 
  tcpdump host hostname  

  #特定端口  
  tcpdump  port  3000  

  # 监听TCP/UDP,服务器上不同服务分别用tcp、udp作为传输层,只想监听TCP数据包  
  tcpdump  tcp  

  #来源主机+ 端口+TCP,监听来自主机10.0.0.100在端口22上的TCP数据包  
  tcpdump  tcp  port  22  and  src  host   10.0.0.100  

  #监听特定主机之间的通信  
  tcpdump  ip host 10.0.0.101 and 10.0.0.102  

  # 监听10.0.0.101和除了10.0.0.1之外的主机之间的通信  
  tcpdump  ip host 10.0.0.101 and ! 10.0.0.1  

  # 详细示例
  tcpdump tcp –i eth1  -t –s 0 –c 100 and dst port ! 22 and src net 192.168.1.0/24  -w  ./target.cap  

  #限制抓包数量,如:抓到1000个包后自动退出  
  tcpdump  -c  1000  

  #  保存到本地,tcpdump默认会将输出写到缓冲区,只有缓冲区内容达到一定大小,或     tcpdump     退出时,才会输出写到本地磁盘,可以加上     -U     强制立即写到本地磁盘(不建议,性能差)  
tcpdump  -n  -vvv  -c  1000  -w  /tmp/tcpdump_save.cap  

  #指定端口号抓包,并显示报文内容  
 tcpdump   port 8091 -i eth0  -nn -X  -s0