使用TcpDump
tcpdump是基于Unix系统的命令行式的数据包嗅探工具,可以抓取流动在网卡上的数据包。默认情况下,tcpdump不会抓取本机内部通讯的报文。根据网络协议栈的规定,对于报文,即使是目的地是本机,也需要经过本机的网络协议层,所以本机通讯肯定是通过API进入了内核,并且完成了路由选择。
linux抓包原理:
Linux抓包是通过注册一种虚拟的底层网络协议来完成对网络报文(准确的说是网络设备)消息的处理权。当网卡接收到一个网络报文之后,它会遍历系统中所有已经注册的网络协议,例如以太网协议、x25协议处理模块来尝试进行报文的解析处理,这一点和一些文件系统的挂载相似,就是让系统中所有的已经注册的文件系统来进行尝试挂载,如果哪一个认为自己可以处理,那么就完成挂载。
监听网卡 eth0 -v 表示以verbose mode显示, -i指定
-w 后为文件名 里面保存的是捕获的数据
接下来是Wireshark分析网络数据
wireshark是一种数据包分析工具,在各种网络应用中,比如通过思博伦的Spirent_TestCenter(TC)、Ixia测试仪抓取接口报文或者利用本文介绍的linux自带的tcpdump监听抓包工具,抓包后导出报文再导入wireshark工具中进行图形化分析。
菜单启动:09-嗅探/欺骗 | wireshark
还有一种方式:在命令行输入名字也可以
点击捕获 --> 选项
选择网卡 然后确定
使用运算符==来过滤
这里用了 != 这个运算符来过滤端口不是80
- tcpdump 仅支持命令行格式使用,常用在Linux服务器中抓取和分析网络包。
- Wireshark 除可以抓包外,还提供了可视化分析网络包的图形页面
tcpdump 是Linux系统下的一个强大的命令,可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
WireShark是非常流行的网络封包分析工具,可以截取各种网络数据包,并显示数据包详细信息。常用于开发测试过程中各种问题定位。本文主要内容包括:
1、Wireshark软件下载和安装以及Wireshark主界面介绍。
2、WireShark简单抓包示例。通过该例子学会怎么抓包以及如何简单查看分析数据包内容。
3、Wireshark过滤器使用。通过过滤器可以筛选出想要分析的内容。包括按照协议过滤、端口和主机名过滤、数据包内容过滤。