Linux下基于命令行的抓包方法

大家可能都已经对著名的抓包工具Ethereal比较熟悉了,这里再介绍一种基于命令行的抓包工具tcpdump。

举例:抓本机1813端口上的数据,并将抓包结果保存在test.cap文件中

然后在本地可以用Ethereal图形化界面查看所抓到包的详细信息。这在通过远程登录在服务器上工作的情况下特别有用,因为终端模式无法用图形化工具抓包。

 

  抓整个包:
  #tcpdump -X -s 0 host 192.168.1.12

  抓68字节:
  #tcpdump -X host 192.168.1.12

  对应的端口抓包:
  #tcpdump -X udp port 1812

  相对应的Solaris平台下抓包方法

  #snoop -x 0 udp to 192.168.1.28
  #snoop -x 0 ucp from 192.168.1.28
  #snoop -x 0 -t a -d eri udp port 1645

  按照时间来抓包:
  #snoop -x 0 -t a -d hme1 from 192.168.1.28

  抓指定地址和端口的包并保存到当前的log2文件中:
  #snoop -x from 192.168.1.28 tcp 80 >> log2.log

  抓包还可以放在后台来让其自动运行,防止关闭窗口时就没有了:

  #csh    /先进入csh环境下/                                                       
  #nohup snoop -x 0 -t a -d hme1 from 192.168.1.28 >>snoop.log & /&表示在后台运行/

posted on 2014-01-11 14:13  davidkam  阅读(5333)  评论(0编辑  收藏  举报