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 & /&表示在后台运行/