入门详解-Wireshark

教程大全 2026-01-08 11:40:43 浏览

目录:

一、 background

二、 how it works

三、包抓取方式

四、 filter in Wireshark

五、 Wireshark的安装

六、 Wireshark的实用功能

七、 Wireshark的扩展

八、让Wireshark支持自定义协议

九、附录

一、background

Wireshark是一款支持多平台的包抓取分析开源软件,前身是ethereal。

Wireshark基于libpcap on unix-like,winpcap on windows。tcpdump同样基于libpcap实现。Libpcap来自于BPF,下图是BPF的一个结构图:

二、how it works

三、How packets capture

当前Wireshark支持以下三种包抓取方式:1. 网络适配器上实时抓取;2. 远程主机抓取;3. pipe方式抓取;

这里主要介绍下远程主机的抓取方式,此功能依赖于libpcap/winpcap提供的rpcapd.程序:

首先服务器端建立侦听

然后客户端连接到服务器端

现在能看见远程主机网卡上的流量了

Packet由libpcap抓取之后通过管道传送到wireshark,由此远程抓包只是流量重定向而已。

四、filter in Wireshark

Wireshark中提供了两种filter:

1. Capture filter;

2. Display filter;

其中capture filter来自于libpcap,语法如下

[direction] [[type] value] [proto]

Direction: src dst

Type: host net port

Proto: ether tcp UDP arp ...

Capture filter在libpcap实现,只有满足过滤器的包之后才会送往应用程序

l Capture filter例子

src host 2.2.2.2

host 1.1.1.1 && port 1033

tcp[13]&4==4 || tcp[13]&4==14 #tcp的flag在偏移13字节的地方,占据1字节

抓包工具

Display filter来自于Wireshark,用于对捕获包的显示过滤。Wireshark利用此filter还是实现了coloring rules,statistics等功能。

五、Wireshark instAll

Wireshark依赖于libpcap/winpcap,于是在应用程序安装之前,首先安装此库。

六、Wireshark utility

Wireshark将通信抽象成流的概念,按照Wireshark的解释,流是“The Stream content is displayed in the same sequence as it appeared on the network”,就是一个序列号下来的通信,主要针对tcp通信

红方表示发送方,蓝方表示回送方

可以按照协议,按照endpoint,按照packet length进行统计显示

将网络通信以时序图的方式展现出来

七、Wireshark extension

maxmind是一个在线ip地理信息提供商GeoIP,,它提供了一个离线数据库文件,Wireshark加载此文件,可以在显示捕获包的同时显示该包中的IP的地理信息;

八、让Wireshark支持自定义协议

源码下的epan目录

Init.lua文件

Lua为何物

Wireshark与lua的关系

a) 侦听时分析

b) 显示时分析

3. Wireshark通过init.lua进入其他的lua程序

使用lua编写自定义协议解析器

1. 步骤

a) 定义协议

b) 定义解析函数

c) 在全局解析函数table中加入解析规则

九、附录

最初的libpcap论文:filter语法:提供了display filter功能,该语法介绍如下:上对于GeoIP的说明:的下载页面:

本文由网友李文博提供。希望大家加入我们,一起成长。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐