推荐回答
TCPdump抓包命令tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。一、概述顾名思义,tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。引用#tcpdump-vvtcpdump:listeningoneth0,link-typeEN10MBEthernet,capturesize96bytes11:53:21.444591IPtos0x10,ttl64,id19324,offset0,flags#tcpdump-ieth0-nntcpdump:verboseoutputsuppressed,use-vor-vvforfullprotocoldecodelisteningoneth0,link-typeEN10MBEthernet,capturesize96bytes01:33:40.41IP192.168.1.100.22>192.168.1.11.1190:P116:232116ack1win964801:33:40.41IP192.168.1.100.22>192.168.1.11.1190:P232:364132ack1win9648:传送端是192.168.1.100这个IP,而传送的PortNumber为22,那个大于的符号指的是数据包的传输方向。192.168.1.11.1190:接收端的IP是192.168.1.11,且该主机开启port1190来接收。P116:232116:这个数据包带有PUSH的数据传输标志,且传输的数据为整体数据的116~232Byte,所以这个数据包带有116Bytes的数据量。ack1win9648:ACK与Windowsize的相关资料。最简单的说法,就是该数据包是由192.168.1.100传到192.168.1.11,通过的port是由22到1190,且带有116Bytes的数据量,使用的是PUSH的标记,而不是SYN之类的主动联机标志。接下来,在一个网络状态很忙的主机上面,你想要取得某台主机对你联机的数据包数据时,使用tcpdump配合管线命令与正则表达式也可以,不过,毕竟不好捕获。我们可以通过tcpdump的表达式功能,就能够轻易地将所需要的数据独立的取出来。在上面的范例一当中,我们仅针对eth0做监听,所以整个eth0接口上面的数据都会被显示到屏幕上,但这样不好分析,可以简化吗?例如,只取出port21的联机数据包。
齐新艳2019-12-22 00:07:26
提示您:回答为网友贡献,仅供参考。