抓包
抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。 数据包分析,通常也被称为数据包嗅探或协议分析,指的是捕获和解析网络上在线传输数据的过程,通常目的是为了能更好地了解网络上正在发生的事情。数据包分析过程通常由数据包嗅探器来执行。而数据包嗅探器则是一种用来在网络媒介上捕获原始传输数据的工具。
数据包嗅探器工作原理
数据包嗅探过程中涉及到软件和硬件之间的协作。这个过程可以分为成3个步骤。
第一步:收集,数据包嗅探器从网络线缆上收集原始二进制数据。通常情况下,通过将选定的网卡设置成混杂模式来完成抓包。在这种模式下,网卡将抓取一个网段上所有的网络通信流量,而不仅是发往它的数据包。
第二步:转换,将捕获的二进制数据转换成可读形式。高级的命令行数据包嗅探器就支持到这一步骤。到这步,网络上的数据包将以一种非常基础的解析方式进行显示,而将大部分的分析工作留给最终用户。
第三步:分析,对捕获和转换后的数据进行真正的深入分析。数据包嗅探器以捕获的网络数据作为输入,识别和验证它们的协议,然后开始分析每个协议的特定属性。
WireShark定义及用途
Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。
WireShark面板
Packet List 面板——显示打开文件的每个包的摘要。
用表格显示了当前捕获文件中的所有数据包,其中包括了数据包序号、数据包被捕获的相对时间、数据包的源地址和目标地址、数据包的协议以及在数据包中找到的概括信息等列。点击面板中的单独条目,包的其他情况将会显示在另外两个面板中。
Packet Details 面板——显示您在Packet list 面板中选择的包的更多详情。可以通过展开或是收缩来显示这个数据包中所捕获到的全部内容。
Packet bytes 面板——显示您在Packet list 面板选择的包的数据。以及在Packet details 面板高亮显示的字段。
过滤器
捕获过滤器:捕获满足给定的包含/排除表达式的数据包;
•Protocol(协议): ether, fddi, ip, arp, rarp, decnet, tcp and udp。
•Direction(方向): src, dst, src and dst, src or dst。默认使用 “src or dst” 作为关键字。
•Host(s): net, port, host, portrange。默认使用“host”关键字。
•Logical Operations(逻辑运算): not, and, or.否("not")具有最高的优先级或("or")和与("and")具有相同的优先级,运算时从左至右进行。
•tcp dst port 8081 显示目的TCP端口为8081的封包。
•ip src host 192.168.0.1 显示来源IP地址为192.168.0.1的封包。
•host 192.168.0.1 显示目的或来源IP地址为192.168.0.1的封包。
•not imcp 显示除了icmp以外的所有封包。
显示过滤器:根据指定的表达式用于在一个已捕获的数据包集合中隐藏不想显示的数据包或只显示需要的数据包。
•协议过滤 eg:TCP 只显示TCP协议
•IP过滤 eg: ip.src ==192.168.0.1 显示源地址为192.168.0.1,ip.dst==192.168.1.1, 目标地址为192.168.1.1
•端口过滤 eg:tcp.port ==80, 端口为80的,tcp.srcport == 80, 只显示TCP协议的原端口为80的。
•Http模式过滤 eg:http.request.method=="GET", 只显示HTTP GET方法的。
•逻辑运算符AND/OR