搜档网
当前位置:搜档网 › wireshark插件开发总结

wireshark插件开发总结

wireshark插件开发总结
wireshark插件开发总结

Wireshark插件开发总结

一.Windows环境下wireshark编译环境的设置:

<一>.准备好编译wireshark所必须使用到的工具及文件:

1.Microsoft Visual Studio 2010;

2.Cygwin;

3.Python 2.7;

4.Wireshark-win32-libs;

5.Wireshark 1.

6.5源码包;

<二>.配置环境:

1.安装好VS2010,找到vsvars3

2.bat的路径。(每次编译开始前,需运行该bat文件,设置好VS2010编译环境)。

我的该bat文件路径为:F:\VS 2010\Common7\Tools;

2.选择在线或本地安装Cygwin,Cygwin主要是用来在Windows下模拟UNIX系统环境。在安装过程中,必须保证已安装以下几个包:

a. Archive/unzip

b. Devel/bison

c. Devel/flex

d. Interpreters/perl

e. Utils/patch

f. Web/wget

3.下载并安装Python到默认路径下,我下载的版本为:Python 2.7.2。

4. 在https://www.sodocs.net/doc/442539695.html,/wireshark-win32-libs/trunk/packages/网

站下载编译wireshark所依赖的库文件。

注:不要解压,将下载的zip包放至C:\wireshark-win32-libs目录下即可。

5.在wireshark官网下载将编译的源码包,网址为:

https://www.sodocs.net/doc/442539695.html,/download/src/all-versions/%E4%B8%8A%E4%B8%8B%E

8%BD%BD,我下载的版本为1.6.5。

<三>. 更改wireshark源码配置文件:

打开wireshark源码所在目录,修改其根目录下的config.nmake文件:

1.VERSION_EXTRA:这里可以自定义个人版本信息。

2.WIRESHARK_LIBS:设置编译所依赖的库文件所在目录。

3.PROGRAM_FILES:设置本机程序安装目录,默认即可。

4.MSVC_VARIANT:我使用的是VS2010,将MSVC_VARIANT为MSVC2010行的#去掉即

可。

5.CYGWIN_PATH:设置Cygwin的bin目录。我的bin文件目录为:

D:\Linux\cygwin\bin。

6.PYTHON 及其后的PATH:将其修改问自己安装的Python文件目录即可。

7.MSVCR_DLL:用绝对路径修改成自己VS2010的安装目录。

8.MAKENSIS:该选项为安装程序制作工具,如果没有用#注释掉。

<四>.编译wireshark源码:

在确定上述准备工作已经完成的基础上,打开运行vsvars32.bat文件后,跳转到wireshark源码所在目录,首先通过下面的命令行验证一下:nmake –f

Makefile.nmake verify_tools,如果有错误的话,可能是变量设置错误或者版本

不符合要求,根据错误提示修改相应错误。然后编译库文件,执行:nmake –f

Makefile.nmake setup,该命令执行后会将wireshark-libs目录下的库文件解压。

执行:nmake –f Makefile.nmake distclean清除其他平台的冗余代码,最后执

行:nmake –f Makefile.nmake all完成整个编译过程。

执行完上述操作后,打开C:\wireshark\wireshark-gtk2 目录, 运行其中的wireshark.exe。将会看到wireshark的主界面。至此整个源码编译过程就告一段

落了。

二.编写代码:

本文主要的对新添加的Scoreboard协议进行解析,ScoreBoard协议用于更新比分牌的数值的背景颜色,服务端监听UDP1127端口,客户端端口任意。

报文格式

每个报文的前16字节是固定的识别符identifier:

e2 cb b5 80 cb 09 4e ba a3 6b f6 07 ce 95 3f 2b

第17字节表示报文类型operator:

?00 get-value 获取比分数值

?01 set-value 设置比分数值

?80 resp-value 应答比分数值

?10 get-color 获取背景色

?11 set-color 设置背景色

?90 resp-color 应答背景色

数据部分:

?01、80类型的报文

o第18~21字节为左边的比分数值(32位无符号整数,big endian)

o第22~25字节为右边的比分数值(32位无符号整数,big endian) ?11、90类型的报文

o第18字节为红色分量

o第19字节为绿色分量

o第20字节为蓝色分量

在plugins文件夹下新建scoreboard目录,在该目录下新建packet-scoreboard.c文件,代码内容如下:

#ifdef HAVE_CONFIG_H

# include "config.h"

#endif

#include

static void dissect_scoreboard(tvbuff_t *tvb, packet_info *pinfo, proto_tree tree);

static int proto_scoreboard = -1;

static int hf_scoreboard_id = -1;

static int hf_scoreboard_cmd = -1;

static int hf_scoreboard_score_left = -1;

static int hf_scoreboard_score_right = -1;

static int hf_scoreboard_color_red = -1;

static int hf_scoreboard_color_green = -1;

static int hf_scoreboard_color_blue = -1;

static gint ett_scoreboard = -1;

static const value_string names_cmd[] = {

{ 0x00, "request score" },

{ 0x01, "set score" },

{ 0x80, "response score" },

{ 0x10, "request color" },

{ 0x11, "set color" },

{ 0x90, "response color" },

{ 0, NULL }

};

void proto_register_scoreboard(void)

{

static hf_register_info hf[] = {

{ &hf_scoreboard_id, {

"ScoreBoard ID", "scoreboard.id", FT_BYTES,

BASE_NONE, NULL, 0, NULL, HFILL }},

//FT_BYTES 仅能为BASE_NONE 方式显示

{ &hf_scoreboard_cmd, {

"Command", "scoreboard.cmd", FT_UINT8,

BASE_HEX, VALS(names_cmd), 0, NULL, HFILL }},

//VALS()宏,仅进行类型转换

{ &hf_scoreboard_score_left, {

"Score Left", "scoreboard.sleft", FT_UINT32,

BASE_DEC, NULL, 0, NULL, HFILL }},

{ &hf_scoreboard_score_right, {

"Score Right", "scoreboard.sright", FT_UINT32,

BASE_DEC, NULL, 0, NULL, HFILL }},

{ &hf_scoreboard_color_red, {

"Color Red", "scoreboard.r", FT_UINT8,

BASE_HEX, NULL, 0, NULL, HFILL }},

{ &hf_scoreboard_color_green, {

"Color Green", "scoreboard.g", FT_UINT8,

BASE_HEX, NULL, 0, NULL, HFILL }},

{ &hf_scoreboard_color_blue, {

"Color Blue", "scoreboard.b", FT_UINT8,

BASE_HEX, NULL, 0, NULL, HFILL }},

};

static gint *ett[] = {

&ett_scoreboard

};//我们只需要一个子树,显示分值与颜色分量

proto_scoreboard = proto_register_protocol("Score Board Protocol",

"ScoreBoard",

"scoreboard");

proto_register_field_array(proto_scoreboard, hf, array_length(hf));

proto_register_subtree_array(ett, array_length(ett));

}

void proto_reg_handoff_scoreboard(void)

{

dissector_handle_t scoreboard_handle;

scoreboard_handle =

create_dissector_handle(dissect_scoreboard,proto_scoreboard);

dissector_add("udp.port", 1127, scoreboard_handle);

}

static void dissect_scoreboard(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)

{

int offset = 0;//偏移变量,记录偏移位置

col_set_str(pinfo->cinfo, COL_PROTOCOL, "ScoreBoard");//显示协议

col_clear(pinfo->cinfo, COL_INFO);

if (tree) {

guint8 cmd_result=0;//用于保存获取到的操作类型值

proto_item *ti = NULL;//方便添加结点而定义

proto_tree *tt = NULL; //方便添加结点而定义

ti = proto_tree_add_item(tree, proto_scoreboard,tvb, 0, -1, FALSE);//添加结点

tt = proto_item_add_subtree(ti, ett_scoreboard);//添加子树,用以显示数据

proto_tree_add_item(tt,hf_scoreboard_id,tvb,offset,16,FALSE);offset+=16 ;

proto_tree_add_item(tt,hf_scoreboard_cmd,tvb,offset,1,FALSE);

cmd_result=tvb_get_guint8(tvb,offset);offset+=1;//获取操作类型

switch(cmd_result)

{

case 0x00:

case 0x01:

//添加左边比分结点

proto_tree_add_item(tt,hf_scoreboard_score_left,tvb,offset,4,FALSE)

;

offset+=4;

//添加右边比分结点

proto_tree_add_item(tt,hf_scoreboard_score_right,tvb,offset,4,FALSE) ;

offset+=4;

break;

case 0x80:

proto_tree_add_item(tt,hf_scoreboard_score_left,tvb,offset,4,FA LSE);

proto_tree_add_item(tt,hf_scoreboard_score_right,tvb,offset,4,F ALSE);

offset+=4;

break;

case 0x10:

case 0x11:

//添加颜色分量结点

proto_tree_add_item(tt,hf_scoreboard_color_red,tvb,offset,1,FAL SE);

offset+=1;

proto_tree_add_item(tt,hf_scoreboard_color_green,tvb,offset,1,F ALSE);

offset+=1;

proto_tree_add_item(tt,hf_scoreboard_color_blue,tvb,offset,1,FA LSE);

offset+=1;

break;

case 0x90:

proto_tree_add_item(tt,hf_scoreboard_color_red,tvb,offset,1,FAL SE);

offset+=1;

proto_tree_add_item(tt,hf_scoreboard_color_green,tvb,offset,1,F ALSE);

offset+=1;

proto_tree_add_item(tt,hf_scoreboard_color_blue,tvb,offset,1,FA LSE);

offset+=1;

break;

default:break;

offset+=4;

}

}

}

至此协议解析代码部分编写完成。

三.插件的插入及编译:

1.在自己编写的插件目录(scoreboard)下,放入以下文件:

AUTHORS

COPYING

ChangeLog

CMakeLists.txt

Makefile.am

https://www.sodocs.net/doc/442539695.html,mon

Makefile.nmake

moduleinfo.h

moduleinfo.nmake

plugin.rc.in

这些文件,可以从plugins/gryphon/目录下拷贝,然后在对其修改。具体修改步骤参考后面2,3步骤。

Wireshark文件介绍:

Makefile.am:这个是UNIX/Linux平台下的makefile模板。

https://www.sodocs.net/doc/442539695.html,mon:这个文件包含了内置插件所依赖的文件。

Makefile.nmake:这个文件是Windows平台下WireShark内置插件的makefile。

moduleinfo.h:内置插件的版本信息。

moduleinfo.nmake:Windows平台下DLL的版本信息。

plugin.rc.in:Windows平台下的DLL资源模板。

2.修改本目录下的相关文件:

(1). 将makefile.am文件中的gryphon单词全部替换成scoreboard。

(2). https://www.sodocs.net/doc/442539695.html,mon文件中的变量DISSECTOR_SRC 中,需要将自己插件会导出,

register_*() 和handoff_*() 的主要的源代码文件列入,本例中即

packet-scoreboard.c。

(3). moduleinfo.h 文件中, 将版本号改为自己需要的版本号即可.

(4). moduleinfo.nmake文件中,仅需改动版本号,但要和前一步的版本号相同。

(5).plugin.rc.in 文件是windows 下编译使用的资源文件,用于添加给dll

文件的特定信息。

(6). 修改https://www.sodocs.net/doc/442539695.html,mon文件中的PLUGIN_NAME为scoreboard。

3.修改自己插件目录以外的文件:

(1). plugins/Makefile.am 文件中,需要将自己插件所在的目录(本例中为

scoreboard)添加入SUBDIRS 变量中。

(2). 在最顶层的Makefile.am 中,添加dlopen plugins/scoreboard/https://www.sodocs.net/doc/442539695.html,

语句到plugin_ldadd 中。

(3). 在最顶层的configure.in 文件中,添加plugins/scoreboard/Makefile语句到

AC_OUTPUT 规则中。

(4). 在epan/Makefile.am文件中添加../plugins/scoreboard/packet-scoreboard.c

到plugin_src中。

(5). 在packaging/nsis/Makefile.nmake 文件中,给PLUGINS 变量添

加../../plugins/scoreboard/scoreboard.dll。

(6). 在packaging/nsis/wireshark.nsi 文件中,在Dissector Plugins 区块中,给

File 声明添加如下语句:File “..\..\plugins\scoreboard\scoreboard.dll”。

(7). 修改plugins/Makefile.nmake,在PLUGIN_LIST下添加scoreboard目录。

四.执行编译及测试:

在“开始”中的Visual Studio 2010 Command Prompt 黑框中手动编译,先把路径设置为wireshark\plugins\你的协议下,然后依次输入以下的命令行:nmake -f Makefile.nmake distclean(删除其他平台的冗余代码),nmake -f Makefile.nmake all(编译插件)。编译Wireshark如果正常的话,会在你的协议的目录下生成插件的.DLL 文件,如果有错误的话,在黑框框中会有相应的提示。把你的DLL文件拷贝到你wireshark 的安装目录下的plugins 文件夹下,例如我的是:C:\wireshark-1.6.5\wireshark-gtk2\plugins\1.6.5然后重启wireshark.exe,进行抓包测试,看wireshark 能否正确解析,如果有问题,再修改你的解析代码。

Wireshark使用教程详解,带实例

Wireshark教程带实例 第 1 章介绍 1.1. 什么是Wireshark Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级) 过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。Wireshark可能算得上是今天能使用的最好的开元网络分析软件。 1.1.1. 主要应用 下面是Wireshark一些应用的举例: ?网络管理员用来解决网络问题 ?网络安全工程师用来检测安全隐患 ?开发人员用来测试协议执行情况 ?用来学习网络协议 除了上面提到的,Wireshark还可以用在其它许多场合。 1.1. 2. 特性 ?支持UNIX和Windows平台 ?在接口实时捕捉包 ?能详细显示包的详细协议信息 ?可以打开/保存捕捉的包 ?可以导入导出其他捕捉程序支持的包数据格式 ?可以通过多种方式过滤包 ?多种方式查找包 ?通过过滤以多种色彩显示包 ?创建多种统计分析 ?…还有许多 不管怎么说,要想真正了解它的强大,您还得使用它才行

图 1.1. Wireshark捕捉包并允许您检视其内 1.1.3. 捕捉多种网络接口 Wireshark 可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型,可以在我们的网站上找到https://www.sodocs.net/doc/442539695.html,/CaptureSetup/NetworkMedia. 1.1.4. 支持多种其它程序捕捉的文件 Wireshark可以打开多种网络分析软件捕捉的包,详见??? 1.1.5. 支持多格式输出 Wieshark可以将捕捉文件输出为多种其他捕捉软件支持的格式,详见??? 1.1.6. 对多种协议解码提供支持 可以支持许多协议的解码(在Wireshark中可能被称为解剖)??? 1.1.7. 开源软件 Wireshark是开源软件项目,用GPL协议发行。您可以免费在任意数量的机器上使用它,不用担心授权和付费问题,所有的源代码在GPL框架下都可以免费使用。因为以上原因,人们可以很容易在Wireshark上添加新的协议,或者将其作为插件整合到您的程序里,这种应用十分广泛。 1.1.8. Wireshark不能做的事 Wireshark不能提供如下功能 ?Wireshark不是入侵检测系统。如果他/她在您的网络做了一些他/她们不被允许的奇怪的事情,Wireshark不会警告您。但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助。[3]?Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析)。 1.2. 系通需求

按章节练习及答案全部1-11章

第二章网络通讯选择关于网络协议的正确陈述。(选择三项)正确答案应该是1 3 5 定义特定层PDU 的结构 规定实现协议层功能的方式 概述层与层之间通信所需的功能 限制了硬件兼容性 需要取决于协议层的封装过程 杜绝厂商之间的标准化 2下列哪些陈述正确指出了中间设备在网络中的作用?(选择三项) 确定数据传输路径 发起数据通信 重新定时和重新传输数据信号 发送数据流 管理数据流 数据流最后的终止点 3在封装过程中,数据链路层执行什么操作? 不添加地址。 添加逻辑地址。 添加物理地址。 添加进程的端口号。 4以下哪种特征正确代表了网络中的终端设备?

管理数据流 发送数据流 重新定时和重新传输数据信号 确定数据传输路径 5什么是PDU? 传输期间的帧损坏 在目的设备上重组的数据 因通信丢失而重新传输的数据包 特定层的封装 6 请参见图示。所示网络属于哪一类型? WAN MAN LAN WLAN

7通过检查网络层报头可以确定什么? 本地介质上的目的设备 用于到达目的主机的路径 将要通过介质传输的比特 创建数据的源应用程序或进程 8哪一层负责将数据段封装成数据包? 物理层 数据链路层 网络层 传输层 9封装的关键功能是什么?(选择三项) 供传输前修改原始数据 标识数据片段属于同一通信 为通信提供统一的网络路径 确保数据片段可以转发到正确的接收端设备 实现完整消息的重组 跟踪终端设备之间的延迟 10T CP/IP 网络接入层有何作用? 路径确定和数据包交换 数据表示、编码和控制

可靠性、流量控制和错误检测 详细规定构成物理链路的组件及其接入方法 将数据段划分为数据包 11下列哪三项陈述是对局域网(LAN) 最准确的描述?(选择三项) LAN 通常位于一个地域内。 此类网络由由一个组织管理。 LAN 中的不同网段之间一般通过租用连接的方式连接。 此类网络的安全和访问控制由服务提供商控制。 LAN 为同一个组织内的用户提供网络服务和应用程序访问。 此类网络的每个终端通常都连接到电信服务提供商(TSP)。 12 请参见图示。哪个术语正确判断出了包含于绿色区域中的设备类型? 源 终端 传输

wireshark捕获器使用教程

Wireshark的捕捉过滤器和显示过滤器 Wireshark两种过滤器使用的语法是完全不同的。我们将在接下来的几页中对它们进行介绍: 1. 捕捉过滤器 捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库开发的软件一样,比如著名的TCPdump。捕捉过滤器必须在开始捕捉前设置完毕,这一点跟显示过滤器是不同的。 设置捕捉过滤器的步骤是: - 选择capture -> options。 - 填写"capture filter"栏或者点击"capture filter"按钮为您的过滤器起一个名字并保存,以便 在今后的捕捉中继续使用这个过滤器。 - 点击开始(Start)进行捕捉。

语法: 例子:tcp dst 10.1.1.1 80 and tcp dst 10.2.2.2 3128 Protocol(协议): 可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp. 如果没有特别指明是什么协议,则默认使用所有支持的协议。 Direction(方向): 可能的值: src, dst, src and dst, src or dst 如果没有特别指明来源或目的地,则默认使用"src or dst" 作为关键字。 例如,"host 10.2.2.2"与"src or dst host 10.2.2.2"是一样的。Host(s): 可能的值:net, port, host, portrange. 如果没有指定此值,则默认使用"host"关键字。

wireshark练习及答案lab-tcp

Lab Exercise – TCP Objective To see the details of TCP (Transmission Control Protocol). TCP is the main transport layer protocol used in the Internet. The trace file is here: https://www.sodocs.net/doc/442539695.html,/~kevin/com320/labs/wireshark/trace-tcp.pcap Requirements Wireshark: This lab uses Wireshark to capture or examine a packet trace. A packet trace is a record of traffic at some location on the network, as if a snapshot was taken of all the bits that passed across a particular wire. The packet trace records a timestamp for each packet, along with the bits that make up the packet, from the low-layer headers to the higher-layer contents. Wireshark runs on most operating systems, including Windows, Mac and Linux. It provides a graphical UI that shows the sequence of pack-ets and the meaning of the bits when interpreted as protocol headers and data. The packets are color-coded to convey their meaning, and Wireshark includes various ways to filter and analyze them to let you investigate different aspects of behavior. It is widely used to troubleshoot networks. You can down-load Wireshark from https://www.sodocs.net/doc/442539695.html, if it is not already installed on your computer. We highly rec-ommend that you watch the short, 5 minute video “Introduction to Wireshark” that is on the site. wget / curl: This lab uses wget (Linux and Windows) and curl (Mac) to fetch web resources. wget and curl are command-line programs that let you fetch a URL. Unlike a web browser, which fetches and executes entire pages, wget and curl give you control over exactly which URLs you fetch and when you fetch them. Under Linux, wget can be installed via your package manager. Under Windows, wget is available as a binary at my site https://www.sodocs.net/doc/442539695.html,/~kevin/com320/labs/wget.exe or look for download information on https://www.sodocs.net/doc/442539695.html,/software/wget/. Both have many options (try “wget --help” or “curl --help” to see) but a URL can be fetched simply with “wget URL” or “curl URL”. Browser: This lab uses a web browser to find or fetch pages as a workload. Any web browser will do.

wireshark抓包教程

Wireshark图解教程(简介、抓包、过滤器)配置 Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的 数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、 邮箱、msn、账号等的密码!! Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码!! wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。 在成功运行Wireshark之后,我们就可以进入下一步,更进一步了解这个强大的工具。下面是一张地址为192.168.1.2 的计算机正在访问“https://www.sodocs.net/doc/442539695.html,”网站时的截图。 1.MENUS(菜单) 2.SHORTCUTS(快捷方式) 3.DISPLAY FILTER(显示过滤器) 4.PACKET LIST PANE(封包列表) 5.PACKET DETAILS PANE(封包详细信息) 6.DISSECTOR PANE(16进制数据) 7.MISCELLANOUS(杂项)

1. MENUS(菜单) 程序上方的8个菜单项用于对Wireshark进行配置: -"File"(文件)-"Edit"(编辑)-"View"(查看)-"Go"(转到)-"Capture"(捕获)-"Analyze"(分析)-"Statistics"(统计) -"Help"(帮助)打开或保存捕获的信息。 查找或标记封包。进行全局设置。 设置Wireshark的视图。 跳转到捕获的数据。 设置捕捉过滤器并开始捕捉。 设置分析选项。 查看Wireshark的统计信息。 查看本地或者在线支持。 2. SHORTCUTS(快捷方式) 在菜单下面,是一些常用的快捷按钮。 您可以将鼠标指针移动到某个图标上以获得其功能说明。 3.DISPLAY FILTER(显示过滤器) 显示过滤器用于查找捕捉记录中的内容。 请不要将捕捉过滤器和显示过滤器的概念相混淆。请参考Wireshark过滤器中的详细内容。 返回页面顶部 4.PACKET LIST PANE(封包列表)

wireshark练习及答案lab-protocol-layers

Lab Exercise – Protocol Layers Objective To learn how protocols and layering are represented in packets. They are key concepts for structuring networks that are covered in the text. The trace for this lab is here: https://www.sodocs.net/doc/442539695.html,/~kevin/com320/labs/wireshark/trace-protocol-layers.pcap (although the main trace you will look at is from a site you pick such as https://www.sodocs.net/doc/442539695.html, in the exam-ples which follow). Requirements Wireshark: This lab uses the Wireshark software tool to capture andexamine a packet trace. A packet trace is a record of traffic at a location on the network, as if a snapshot was taken of all the bits that passed across a particular wire. The packet trace records a timestamp for each packet, along with the bits that make up the packet, from the lower-layer headers to the higher-layer contents.Wireshark runs on most operating systems, including Windows, Mac and Linux. It provides a graphical UI that shows the sequence of packets and the meaning of the bits when interpreted as protocol headers and data. It col-or-codes packets by their type, and has various ways to filter and analyze packets to let you investigate the behavior of network protocols. Wireshark is widely used to troubleshoot networks. You can down-load it https://www.sodocs.net/doc/442539695.html, for your personal computer. It is an ideal packet analyzer for our labs –it is stable, has a large user base and well-documented support that includes a user-guide https://www.sodocs.net/doc/442539695.html,/docs/wsug_html_chunked), and a detailed FAQ, rich functionality that in-cludes the capability to analyze hundreds of protocols, and a well-designed user interface. It operates in computers using Ethernet, serial (PPP and SLIP), 802.11 wireless LANs, and many other link-layer tech-nologies (if the OS on which it is running allows Wireshark to do so). It is already installed in the labs. A quick help guide to Wireshark display filters is here: https://www.sodocs.net/doc/442539695.html,/wireshark_filters.php Wireshark is a core tool for any wireless ‘man in the middle’ or similar snooping attack. It is simply i n-dispensable for those who wish to examine packets being transferred over a network –good or bad…..

Wireshark中文简明使用教程

第 3 章用户界面 . 须知 现在您已经安装好了Wireshark,几乎可以马上捕捉您的一个包。紧接着的这一节我们将会介绍:Wireshark的用户界面如何使用 如何捕捉包 如何查看包 如何过滤包 ……以及其他的一些工作。 . 启动Wireshark 你可以使用Shell命令行或者资源管理器启动Wireshark. 提示 开始Wireshark 时您可以指定适当的参数。参见 第节“从命令行启动Wireshark” 注意 在后面的章节中,将会出现大量的截图,因为Wireshark运行在多个平台,并且支持多个GUI Toolkit2x),您的屏幕上显示的界面可能与截图不尽吻合。但在功能上不会有实质性区别。尽管有这些区别,也不会导致理解上的困难。 . 主窗口 先来看看图“主窗口界面”,大多数打开捕捉包以后的界面都是这样子(如何捕捉/打开包文件随后提到)。 图 . 主窗口界面 和大多数图形界面程序一样,Wireshark主窗口由如下部分组成:

1.菜单(见第节“主菜单”)用于开始操作。 2. 主工具栏(见第节“"Main"工具栏”)提供快速访问菜单中经常用到的项目的功能。 3.Fiter toolbar/过滤工具栏(见第节“"Filter"工具栏”)提供处理当前显示过滤得方法。(见:”浏览时进行过滤”) 4.Packet List面板(见第节“"Pcaket List"面板”)显示打开文件的每个包的摘要。点击面板中的单独条目,包 的其他情况将会显示在另外两个面板中。 5.Packet detail面板(见第节“"Packet Details"面板”)显示您在Packet list面板中选择的包德更多详情。 6.Packet bytes面板(见第节“"Packet Byte"面板”)显示您在Packet list面板选择的包的数据,以及在Packet details 面板高亮显示的字段。 7.状态栏(见第节“状态栏”)显示当前程序状态以及捕捉数据的更多详情。 注意 主界面的三个面版以及各组成部分可以自定义组织方式。见第节“首选项” 3.3.1. 主窗口概述 Packet list和Detail 面版控制可以通过快捷键进行。表“导航快捷键”显示了相关的快捷键列表。表“"GO"菜单项”有关于快捷键的更多介绍 表 . 导航快捷键 快捷键描述 Tab,Shift+Tab在两个项目间移动,例如从一个包列表移动到下一个 Down移动到下一个包或者下一个详情 Up移动到上一个包或者上一个详情 Ctrl-Down,F8移动到下一个包,即使焦点不在Packet list面版 Ctrl-UP,F7移动到前一个报,即使焦点不在Packet list面版 Left在Pactect Detail面版,关闭被选择的详情树状分支。如果以关闭,则返回到父分支。 Right在Packet Detail面版,打开被选择的树状分支. Backspace Packet Detail面版,返回到被选择的节点的父节点 Return,Enter Packet Detail面版,固定被选择树项目。 另外,在主窗口键入任何字符都会填充到filter里面。 . 主菜单 Wireshark主菜单位于Wireshark窗口的最上方。图“主菜单”提供了菜单的基本界面。 图 . 主菜单 主菜单包括以下几个项目: File 包括打开、合并捕捉文件,save/保存,Print/打印,Export/导出捕捉文件的全部或部分。以及退出Wireshark项.见第节“"File"菜单” Edit 包括如下项目:查找包,时间参考,标记一个多个包,设置预设参数。(剪切,拷贝,粘贴不能立即执行。)见第节“"Edit"菜单” View 控制捕捉数据的显示方式,包括颜色,字体缩放,将包显示在分离的窗口,展开或收缩详情面版的地树状节点,……见第节“"View"菜单” GO 包含到指定包的功能。见第节“"Go"菜单”

思科章节练习第二章到第七章试题及答案

思科章节练习第二章到第七章试题及答案 第二章 1.下列哪些陈述正确指出了中间设备在网络中的作用?(选择三项) (135) 确定数据传输路径 发起数据通信 重新定时和重新传输数据信号 发送数据流 管理数据流 数据流最后的终止点 2.请选择关于网络协议的正确陈述。(选择三项。135) 定义特定层 PDU 的结构 规定实现协议层功能的方式 概述层与层之间通信所需的功能 限制了对硬件兼容性的需要 需要取决于协议层的封装过程 杜绝厂商之间的标准化 3.封装的两个功能是什么?(45选择两项) 跟踪终端设备之间的延迟 为通信提供统一的网络路径 在传输前可以修改原始数据 标识属于同一通信的数据片段 确保数据片段可以转发到正确的接收端设备 4.数据链路层封装添加的报尾信息有何主要功能?1 支持差错校验 确保数据按照顺序到达 确保送达正确目的 标识本地网络中的设备 帮助中间设备进行处理和路径选择 5.OSI 模型哪两层的功能与 TCP/IP 模型的网络接入层相同?(选择两项34)网络层 传输层 物理层 数据链路层 会话层 6.什么是 PDU?4 传输期间的帧损坏 在目的设备上重组的数据 因通信丢失而重新传输的数据包 特定层的封装 7.以下哪种特征正确代表了网络中的终端设备? 2 管理数据流 发送数据流 重新定时和重新传输数据信号

确定数据传输路径 8.IP 地址为 10.0.0.34 的“手机A”已经与 IP 地址为 172.16.1.103 的“IP 电话1”建立了 IP 会话。请根据图示回答,下列哪个设备类型是对无线设备“手机A”功能的最准确描述? 2 目的设备 终端设备 中间设备 介质设备 9.下列哪三个标签正确标识了图示网段的网络类型?(236选择三项) 网络 A -- WAN 网络 B -- WAN 网络 C -- LAN 网络 B -- MAN 网络 C -- WAN 网络 A -- LAN 10.下列哪三项陈述是对局域网 (LAN) 最准确的描述?(选择三项125) LAN 通常位于一个地域内。 此类网络由由一个组织管理。 LAN 中的不同网段之间一般通过租用连接的方式连接。 此类网络的安全和访问控制由服务提供商控制。 LAN 为同一个组织内的用户提供网络服务和应用程序访问。 此类网络的每个终端通常都连接到电信服务提供商 (TSP)。 11. 哪个网络术语描述了图中所示的数据交替发送过程?4 通道 PDU 流传输 多路复用 封装 12第 4 层端口指定的主要作用是什么?5 标识本地介质中的设备 标识源设备和目的设备之间的跳数 向中间设备标识通过该网络的最佳路径 标识正在通信的源终端设备和目的终端设备 标识终端设备内正在通信的进程或服务 13. 哪种设备被视为中间设备? 5 文件服务器 IP 电话 笔记本电脑 打印机 交换机 14.哪个术语正确判断出了包含于区域 B 中的设备类型? 4 源设备 终端设备

Wireshark使用教程(精品)

Wireshark使用教程 第 1 章介绍 1.1. 什么是Wireshark Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级) 过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。Wireshark可能算得上是今天能使用的最好的开元网络分析软件。 1.1.1. 主要应用 下面是Wireshark一些应用的举例: ?网络管理员用来解决网络问题 ?网络安全工程师用来检测安全隐患 ?开发人员用来测试协议执行情况 ?用来学习网络协议 除了上面提到的,Wireshark还可以用在其它许多场合。 1.1. 2. 特性 ?支持UNIX和Windows平台 ?在接口实时捕捉包 ?能详细显示包的详细协议信息 ?可以打开/保存捕捉的包 ?可以导入导出其他捕捉程序支持的包数据格式 ?可以通过多种方式过滤包 ?多种方式查找包 ?通过过滤以多种色彩显示包 ?创建多种统计分析 ?…还有许多 不管怎么说,要想真正了解它的强大,您还得使用它才行

图 1.1. Wireshark捕捉包并允许您检视其内 1.1.3. 捕捉多种网络接口 Wireshark 可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型,可以在我们的网站上找到https://www.sodocs.net/doc/442539695.html,/CaptureSetup/NetworkMedia. 1.1.4. 支持多种其它程序捕捉的文件 Wireshark可以打开多种网络分析软件捕捉的包,详见??? 1.1.5. 支持多格式输出 Wieshark可以将捕捉文件输出为多种其他捕捉软件支持的格式,详见??? 1.1.6. 对多种协议解码提供支持 可以支持许多协议的解码(在Wireshark中可能被称为解剖)??? 1.1.7. 开源软件 Wireshark是开源软件项目,用GPL协议发行。您可以免费在任意数量的机器上使用它,不用担心授权和付费问题,所有的源代码在GPL框架下都可以免费使用。因为以上原因,人们可以很容易在Wireshark上添加新的协议,或者将其作为插件整合到您的程序里,这种应用十分广泛。 1.1.8. Wireshark不能做的事 Wireshark不能提供如下功能 ?Wireshark不是入侵检测系统。如果他/她在您的网络做了一些他/她们不被允许的奇怪的事情,Wireshark不会警告您。但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助。[3]?Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析)。 1.2. 系通需求

wireshark练习及答案lab-dns.doc

Lab Exercise – DNS Objective DNS (Domain Name System) is the system & protocol that translates domain names to IP addresses . Step 1: Analyse the supplied DNS Trace Here we examine the supplied trace of a browser making DNS requests as follows. The trace is here: https://www.sodocs.net/doc/442539695.html,/~kevin/com320/labs/wireshark/trace-dns.pcap https://www.sodocs.net/doc/442539695.html,unch Wireshark and start a capture with a filter of “udp port 53”.We use this filterbe- cause there is no shorthand for DNS, but DNS is normally carried on UDP port 53. Figure 3: Setting up the capture options

Step 2: Inspect the Trace To explore the details of DNS packets, select a DNS query expand its Domain Name System block (by us-ing the “+” expander or icon). Your display should be similar to the one shown in our figure, with a series of packets with protocol DNS.. We have selected the first DNS message. Figure 3: Trace of DNStraffic showing the details of the DNS header Look for the following details: ?The DNS block follows the IP and UDP blocks. This is because DNS messages are carried in UDP segments within IP packets. You will see that the UDP port used by a nameserver is 53. ?The DNS header starts with a Transaction ID that is used to link a request and the corresponding reply – they both carry the same Transaction ID. ?Next come a set of flags that you can expand. They indicate whether the DNS message is a query or response, amongst other details. ?Then comethe number of query, answer, authority and additional records. These fields conclude the header.

【小技巧】wireshark定位抓包与定位查看

【实用技巧】wireshark过滤抓包与过滤查看在分析网络数据和判断网络故障问题中,都离不开网络协议分析软件(或叫网络嗅探器、抓包软件等等)这个“利器”,通过网络协议分析软件我们可以捕获网络中正常传输哪些数据包,通过分析这些数据包,我们就可以准确地判断网络故障环节出在哪。网络协议分析软件众多,比如ethereal(wireshark的前身),wireshark,omnipeek,sniffer,科来网络分析仪(被誉为国产版sniffer,符合我们的使用习惯)等等,本人水平有限,都是初步玩玩而已,先谈谈个人对这几款软件使用感受,wireshark(ethereal)在对数据包的解码上,可以说是相当的专业,能够深入到协议的细节上,用它们来对数据包深入分析相当不错,更重要的是它们还是免费得,但是用wireshark(ethereal)来分析大量数据包并在大量数据包中快速判断问题所在,比较费时间,不能直观的反应出来,而且操作较为复杂。像omnipeek,sniffer,科来网络分析仪这些软件是专业级网络分析软件,不仅仅能解码(不过有些解码还是没有wireshark专业),还能直观形象的反应出数据情况,这些软件会对数据包进行统计,并生成各种各样的报表日志,便于我们查看和分析,能直观的看到问题所在,但这类软件是收费,如果想感受这类专业级的软件,我推荐玩科来网络分析仪技术交流版,免费注册激活,但是只能对50个点进行分析。废话不多说,下面介绍几个wireshark使用小技巧,说的不好,还请各位多指点批评。 目前wireshark最新版本是1.7的,先简单对比下wireshark的1.6和1.7版本。 下面是wireshark的1.6版本的界面图:

Wireshark使用教程

第 1 章介绍 1.1. 什么是Wireshark Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级) 过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。Wireshark可能算得上是今天能使用的最好的开元网络分析软件。 1.1.1. 主要应用 下面是Wireshark一些应用的举例: ?网络管理员用来解决网络问题 ?网络安全工程师用来检测安全隐患 ?开发人员用来测试协议执行情况 ?用来学习网络协议 除了上面提到的,Wireshark还可以用在其它许多场合。 1.1. 2. 特性 ?支持UNIX和Windows平台 ?在接口实时捕捉包 ?能详细显示包的详细协议信息 ?可以打开/保存捕捉的包 ?可以导入导出其他捕捉程序支持的包数据格式 ?可以通过多种方式过滤包 ?多种方式查找包 ?通过过滤以多种色彩显示包 ?创建多种统计分析 ?…还有许多 不管怎么说,要想真正了解它的强大,您还得使用它才行 图 1.1. Wireshark捕捉包并允许您检视其内

1.1.3. 捕捉多种网络接口 Wireshark 可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型,可以在我们的网站上找到https://www.sodocs.net/doc/442539695.html,/CaptureSetup/NetworkMedia. 1.1.4. 支持多种其它程序捕捉的文件 Wireshark可以打开多种网络分析软件捕捉的包,详见??? 1.1.5. 支持多格式输出 Wieshark可以将捕捉文件输出为多种其他捕捉软件支持的格式,详见??? 1.1.6. 对多种协议解码提供支持 可以支持许多协议的解码(在Wireshark中可能被称为解剖)??? 1.1.7. 开源软件 Wireshark是开源软件项目,用GPL协议发行。您可以免费在任意数量的机器上使用它,不用担心授权和付费问题,所有的源代码在GPL框架下都可以免费使用。因为以上原因,人们可以很容易在Wireshark上添加新的协议,或者将其作为插件整合到您的程序里,这种应用十分广泛。 1.1.8. Wireshark不能做的事 Wireshark不能提供如下功能 ?Wireshark不是入侵检测系统。如果他/她在您的网络做了一些他/她们不被允许的奇怪的事情,Wireshark不会警告您。但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助。[3]?Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析)。 1.2. 系通需求 想要安装运行Wireshark需要具备的软硬件条件... 1.2.1. 一般说明 ?给出的值只是最小需求,在大多数网络中可以正常使用,但不排除某些情况下不能使用。[4] ?在繁忙的网络中捕捉包将很容塞满您的硬盘!举个简单的例子:在100MBIT/s全双工以太网中捕捉数据将会产生750MByties/min的数据!在此类网络中拥有高速的CPU,大量的内存和足够的磁盘空间是十分有必要的。 ?如果Wireshark运行时内存不足将会导致异常终止。可以在 https://www.sodocs.net/doc/442539695.html,/KnownBugs/OutOfMemory察看详细介绍以及解决办法。 ?Wireshark作为对处理器时间敏感任务,在多处理器/多线程系统环境工作不会比单独处理器有更快的速度,例如过滤包就是在一个处理器下线程运行,除了以下情况例外:在捕捉包时“实时更新包列表”,此时捕捉包将会运行在一个处理下,显示包将会运行在另一个处理器下。此时多处理或许会有所帮助。[5] 1.2.2. Microsoft Windows ?Windows 2000,XP Home版,XP Pro版,XP Tablet PC,XP Media Center, Server 2003 or Vista(推荐在XP下使用) ?32-bit奔腾处理器或同等规格的处理器(建议频率:400MHz或更高),64-bit处理器在WoW64仿真环境下-见一般说明 ?128MB系统内存(建议256Mbytes或更高) ?75MB可用磁盘空间(如果想保存捕捉文件,需要更多空间) 800*600(建议1280*1024或更高)分辨率最少65536(16bit)色,(256色旧设备安装时需要选择”legacy GTK1”) ?网卡需求: o以太网:windows支持的任何以太网卡都可以 o无线局域网卡:见MicroLogix support list, 不捕捉802.11包头和无数据桢。 o其它接口见:https://www.sodocs.net/doc/442539695.html,/CaptureSetup/NetworkMedia

wireshark练习及答案lab-ipv4

Lab Exercise – IPv4 Objective To learn about the details of IP (Internet Protocol). IP is the network layer protocol used throughout the Internet. We will examine IP version 4, since it is ubiquitously deployed, whilethe IP version 6 is partly deployed. The trace is here: https://www.sodocs.net/doc/442539695.html,/~kevin/com320/labs/wireshark/trace-ipv4.pcap The text file is here: https://www.sodocs.net/doc/442539695.html,/~kevin/com320/labs/wireshark/trace-ipv4.txt Requirements Wireshark: This lab uses the Wireshark software tool to capture and examine a packet trace. A packet trace is a record of traffic at a location on the network, as if a snapshot was taken of all the bits that passed across a particular wire. The packet trace records a timestamp for each packet, along with the bits that make up the packet, from the lower-layer headers to the higher-layer contents. Wireshark runs on most operating systems, including Windows, Mac and Linux. It provides a graphical UI that shows the sequence of packets and the meaning of the bits when interpreted as protocol headers and data. It col-or-codes packets by their type, and has various ways to filter and analyze packets to let you investigate the behavior of network protocols. Wireshark is widely used to troubleshoot networks. You can down-load it from https://www.sodocs.net/doc/442539695.html, if it is not already installed on your computer. We highly recommend that you watch the short, 5 minute video “Introduction to Wireshark” that is on the site. wget / curl: This lab uses wget (Linux and Windows) and curl (Mac) to fetch web resources. wget and curl are command-line programs that let you fetch a URL. Unlike a web browser, which fetches and executes entire pages, wget and curl give you control over exactly which URLs you fetch and when you fetch them. Under Linux, wget can be installed via your package manager. Under Windows, wget is available as a binary; look for download information on https://www.sodocs.net/doc/442539695.html,/software/wget/. Under Mac, curl comes installed with the OS. Both h ave many options (try “wget --help” or “curl --help” to see) but a URL can be fetched simply with “wget URL” or “curl URL”. traceroute / tracert: This lab uses “traceroute” to find the router level path from your computer to a remote Internet host. traceroute is a standard command-line utility for discovering the Internet paths that your computer uses. It is widely used for network troubleshooting. It comes pre-installed on Win-dow and Mac, and can be installed using your package manager on Linux. On Windows, it is called “tracert”. It has various options, but simply issuing the command “traceroute https://www.sodocs.net/doc/442539695.html,.au” will cause your computer to find and print the path to the remote computer (here https://www.sodocs.net/doc/442539695.html,.au).

相关主题