TCPDUMP
tcpdump是可以根据使用者的定义对网络上的数据包进行截获、分析的工具。 可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
指定ip,例如截获所有192.168.1.1 的主机收到的和发出的所有的数据包
tcpdump host 192.168.1.1
如果想要获取主机192.168.1.1或发出的telnet包,使用如下命令
tcpdump tcp port23 and host 192.168.1.1
tcpdump 与wireshark
Wireshar是Windows下的抓包工具。在Linux下很难找到一个好用的图形化抓包工具,还好有Tcpdump。可以用Tcpdump + Wireshark组合来实现:在 Linux 里抓包,然后在Windows 里分析包。
tcpdump tcp -ieth1 -t -s 0 -c 100 -w ./output.cap
(1)tcp: ip icmparp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)-w ./output.cap: 保存成cap文件,可以用wireshark分析