logo资料库

Wireshark实验讲义.doc

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
1.1 Wireshark 软件简介 第 1 章 Wireshark 基础知识 Wireshark(原名 Ethereal)是一款网络数据包(分组)分析软件。作为网络嗅探器,它 能在 Windows、Linux 及 MAC 平台上提取并分析网络分组,并尽可能详细地显示出网络分 组信息。Wireshark 使用 WinPCAP 作为接口,直接与网卡进行数据报文交换。Gerald 编写 了 Wireshark 的前身 Ethereal,其原名意为“还原以太网的真相”。由于软件免费和代码开源, Ethereal 软件推出后广受欢迎,此后由于商标版权问题,Gerald 于 2006 年将软件正式更名为 Wireshark。 1.1.1 Wireshark 作用 与使用电表等测量电流、电压、电阻等电气参数类似,计算机网络也需要测量各类通信 参数与传输的分组数据。过去,网络数据测量分析软件多为商业软件,价格非常昂贵,极大 地限制了网络工程师对网络数据的提取与分析。Wireshark 的出现改变了这一切。在 GNU GPL 通用许可证的保障下,使用者可以免费取得软件与其源代码,并拥有针对其源代码修 改及定制化的权利。Wireshark 是目前全世界最广泛的网络分组分析软件之一。 网络管理员使用 Wireshark 检测网络出现的故障与问题;网络安全工程师使用 Wireshark 检查信息安全相关问题;通信协议开发者使用 Wireshark 为新的通讯协定查错、除错;软件 测试工程师使用 wireshark 抓包,分析自己测试的软件;从事 socket 编程的工程师会用 wireshark 来调试程序;据说,华为、中兴的大部分工程师都会用到 wireshark;普通使用者 使用 Wireshark 来学习网络协定的相关知识。当然,也有人使用 Wireshark 来寻找一些敏感 信息。 1.1.2 Wireshark 不能做的事情 Wireshark 不是入侵检测系统(Intrusion Detection System, IDS)。对于网络上的异常流量 行为,Wireshark 不会产生警示或是任何提示。当然,仔细分析 Wireshark 提取的分组能够帮 助使用者更清楚地了解网络状态与行为。为了安全考虑,Wireshark 不会修改网络分组的内 容,它只反映目前流通的分组信息,供使用者查看,Wireshark 本身也不会向网络送出分组。 1.2 Wireshark 安装 1.2.1 获取 Wireshark 虽然互联网上可以搜索并下载 Wireshark 安装程序,但建议在其官网下载最新且稳定的 版本 Wireshark 1.12.0。下载时需要注意,选择适合自己操作系统平台的 Wireshark 安装版本, 如图 1.1 所示。Wireshark 的官方下载网站为 http://www.wireshark.org/。 图 1.1 选择下载合适的 Wireshark 安装版本 1.2.2 安装 Wireshark 安装步骤及截图,安装完成之后,将进入如图 1.2 所示的 Wireshark 运行界面。
1.3 Wireshark 主窗口界面 Wireshark 主界面分为几个部分,如下图 1.3 所示。 图 1.2 Wireshark 开始界面 图 1.3 Wireshark 运行主界面 1. Display Filter(显示过滤器), 用于过滤符合筛选条件的数据分组,可以不设置。 2. Packet List Pane(分组列表窗格),显示捕获到的分组,有序号列、时间列、源地址列和目 标地址列、协议列、分组长度列及相关信息列等。 该列表中,不同的行,可能具有不同的 颜色,代表不同类型的报文。Wireshark 通过颜色让各种流量的报文一目了然,比如默认绿 色是 TCP 报文,深蓝色是 DNS,浅蓝是 UDP,黑色标识出有问题的 TCP 报文,如乱序报 文。 数据包列表中,第一列是编号(如第 1 个包),第二列是截取时间(0.000000),第三列 source 是源地址(115.155.39.93),第四列 destination 是目的地址(115.155.39.112),第五列 protocol 是这个包使用的协议(这里是 UDP 协议),第六列 info 是一些其它的信息,包括源端口号 和目的端口号(源端口:58459,目的端口:54062)。 3. Packet Details Pane(分组详细信息窗格),显示分组中的各字段内容。由于分组的详细信息
较多,该窗格中使用“协议树”,以“资源管理器”的方式,显示选定的数据包所属的协议 信息;在协议树中可以按协议层次体系得到被截获数据包的更多信息,如主机的 MAC 地址 (Ethernet II)、IP 地址(Internet protocol)、UDP 端口号(user datagram protocol)以及 UDP 协议的具体内容(data)。 4. Dissector Pane(16 进制数据窗格),在 Wireshark 窗体“分组详细信息窗格”的下侧,以十 六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。 5. Miscellanous(地址栏,杂项) 1.4 Wireshark 捕获数据 当用户在一台计算机上安装 Wireshark 软件后,就可以利用软件捕获本地计算机网卡上 发送和接收的所有数据包。如果用户需要捕获交换机或路由器等网络设备端口上收发的数据 包,则需要在相应的交换路由设备上配置“端口镜像”,这样可以把需要监控的端口数据流, 复制到 wireshark 主机端接的端口上。有些路由交换设备还支持远程流量监控,能让直连本 地交换机的 wireshark 主机采集到远程交换机端口的流量,请参阅相关网络设备的技术手册。 下面将利用一次具体的数据捕获过程,展示如何使用 Wireshark 软件抓取并分析数据包。 如果使用的电脑上有多块网卡(除了物理网卡,计算机可能还有虚拟网卡),可以首先 点击菜单栏“capture”--“interface”,查看有哪些网卡可以获取流量,并选取一块网卡,也可以 复选多块网卡。本文此处选取“本地连接--Realtek10/100/1000 Ethernet NIC”网卡,如图 1.4 所示。 确定抓取流量的网卡后,可以点击“capture”--“options”,注意网卡一定要选中混杂模式 “use promiscuous mode on all interfaces",如图 1.5 所示,否则无法获取内网的其他信息。 图 1.4 设置捕获网卡接口
点击“start”,就可以看到捕获的实时数据陆续显示在“分组列表窗格”中,捕获一段 时间后,可以点击“stop”按钮,结束数据捕获,如图 1.6 所示。 图 1.5 设置“捕获选项”窗口 1.4.1 显示过滤窗格 图 1.6 捕获结束窗口 初学者使用 Wireshark 捕获数据时,将会得到大量的数据信息,在几千甚至几万条记录 中,可能很难找到需要的部分,因此使用“过滤”非常重要。例如读者只对 DNS 报文感兴 趣,可以在“Filter”选项那里,输入 DNS,点击”apply“ 按钮,就可以筛选出本次抓获的所 有 DNS 报文,如图 1.7 所示。因此,过滤器可以帮助用户在捕获的大量数据中迅速找到需 要的信息。 图 1.7 显示过滤器 Display Filter
过滤器有两种,一种是显示过滤器,就是主界面的 Filter 栏,用来在捕获的记录中找到 所需要的记录另一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录,在 Capture -> Capture Filters 中设置。 一、保存过滤表达式 在 Filter 栏上,填好 Filter 的表达式后,可以点击 Save 按钮,并命名该过滤表达式,比 如"Filter_x", Filter 栏上就多了个"Filter_x " 的按钮,如图 1.8 所示。保存“过滤”的好处是, 在以后的捕获中,可以直接应用过滤条件表达式,而不需要重新输入表达式。 二、过滤表达式的规则 如图 1.9 所示,在过滤 Filter 栏内书写过滤表达式,需要符合一定的规则。 图 1.8 保存过滤表达式 图 1.9 过滤 Filter 栏输入过滤表达式 表达式规则 1. 协议过滤,作用是筛选出符合用户需要的协议数据报文 如在 Filter 栏输入 TCP,Apply 后,分组列表中只显示 TCP 协议报文。 2. IP 地址过滤,作用是筛选出符合用户需要的源 IP 与目的 IP 地址的报文 如在 Filter 栏输入 ip.src ==192.168.1.102,则分组列表中只显示源地址为 192.168.1.102 的 IP 数据报。类似地,ip.dst==192.168.1.102,则只显示目标地址为 192.168.1.102 的 IP 数据报。 3. 端口过滤,作用是筛选出符合用户需要的端口数据 如在 Filter 栏输入 tcp.port ==80,则分组列表中只显示端口为 80 的数据报文 而输入 tcp.srcport == 80, 则分组列表中只显示 TCP 协议的愿端口为 80 的数据报文。 4. Http 模式过滤 如在 Filter 栏输入 http.request.method=="GET",则分组列表中只显示 GET 方法的 HTTP 报 文。 5. 逻辑运算符为 AND/ OR 如在 Filter 栏输入 ip.src ==192.168.1.101 or ip.dst==192.168.1.101, 则分组列表中只显示源地 址或者目标地址是 192.168.1.101 的报文。 1.4.2 分组列表窗格(Packet List Pane) 分组列表窗格中显示了每个捕获的数据包的基本信息,包括编号,时间戳,源地址,目 标地址,协议,长度,以及分组信息等,如图 1.10 所示。可以看到 Wireshark 对不同的协议 使用不同的颜色显示。当然,用户也可以修改这些显示颜色的规则,在 View 菜单-->Coloring Rules 中设置。
1.10 分组列表窗格 除了展示捕获的数据包基本信息之外,分组列表窗格还有一个重要的功能,每条数据记 录可以用鼠标点击,也就是说,可以在该窗格内选择某个具体的数据包,当选择了某个数据 包之后,可在“分组详细信息窗格”展开该分组记录的详细信息。 1.4.3 分组详细信息窗格(Packet Details Pane) 分组详细信息窗格中可以查看选中的数据包的每一个字段。如前文所述,该窗格中使用 “协议树”,以“资源管理器”的方式,显示选定的数据包所属的协议信息。 分组详细信息窗格参考 TCP/IP 模型为基础,对数据分组包含信息作如下分层,构成一个完 整的协议树。各行信息分别为 Frame: 物理层的数据帧概况 Ethernet II: 数据链路层以太网帧头部信息 Internet Protocol Version 4: 互联网层 IP 包头部信息 Transmission Control Protocol(或 User Datagram Protocol): 传输层 TCP 的数据段头部信息, 根据捕获数据的不同,也可能是 UDP 报头信息 Hypertext Transfer Protocol: 应用层的信息,此处是 HTTP 协议,可以是不同的应用层协议, 此处不止应用层报头,也有应用层载荷。 1.4.4 Wireshark 数据包与 TCP/IP 模型对应关系 目前互联网中传输的数据包均基于 TCP/IP 模型,因此 Wireshark 捕获的数据包也应该 符合 TCP/IP 分层模型,下图中将捕获的数据包在“分组详细信息窗格”按五层进行了分层, 分别对应。 1.11 数据包与 TCP/IP 模型对应关系
1.4.5 数据包保存及导出 捕获数据后,如果要保存从网络中抓取的数据,可以在 Wireshark 中保存为文件。步骤 为:菜单栏依次点击"File"-->"Save",Wireshark 支持的文件存储格式非常多,默认使用的保 存类型是 pcapng,但出于兼容性的考虑,如果用户希望保存的数据包可以被其他抓包软件 打开,建议把存储格式设置为 pcap 格式。
2.1 概述 第 2 章 telnet 抓包实验 Telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登陆服务的标准协议和主要方式。 它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用 telnet 程序,用它连接到服务器。终端使用者可以在 telnet 程序中输入命令,这些命令会在 服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制远程的服务器。 要开始一个 telnet 会话,必须输入用户名和密码来登录服务器。Telnet 是常用的远程控制 Web 服务器的方法。 Telnet 可以让我们坐在自己的计算机前通过 Internet 网络登录到另一台远程计算机上, 这台计算机可以是在隔壁的房间里,也可以是在地球的另一端。当登录上远程计算机后,本 地计算机就等同于远程计算机的一个终端,我们可以用自己的计算机直接操纵远程计算机, 享受远程计算机本地终端同样的操作权限。 2.2 交互过程 当我们使用 Telnet 登录进入远程计算机系统时,事实上启动了两个程序:一个是 Telnet 客户程序,运行在本地主机上;另一个是 Telnet 服务器程序,它运行在要登录的远程计算 机上。 本地主机上的 Telnet 客户程序主要完成以下功能:  建立与远程服务器的 TCP 联接。  从键盘上接收本地输入的字符。  将输入的字符串变成标准格式并传送给远程服务器。  从远程服务器接收输出的信息。  将该信息显示在本地主机屏幕上。 远程主机的“服务”程序通常被昵称为“精灵”,它平时不声不响地守候在远程主机上,一 接到本地主机的请求,就会立马活跃起来,并完成以下功能:  通知本地主机,远程主机已经准备好了。  等候本地主机输入命令。  对本地主机的命令作出反应(如显示目录内容,或执行某个程序等)。  把执行命令的结果送回本地计算机显示。  重新等候本地主机的命令。 2.3 安全隐患 虽然 Telnet 较为简单实用也很方便,但是在格外注重安全的现代网络技术中,Telnet 并 不被重用。原因在于 Telnet 是一个明文传送协议,它将用户的所有内容,包括用户名和密码 都明文在互联网上传送,具有一定的安全隐患,因此许多服务器都会选择禁用 Telnet 服务。 如果我们要使用 Telnet 的远程登录,使用前应在远端服务器上检查并设置允许 Telnet 服务的 功能。 2.4 安装并配置 Telnet 服务 2.4.1 在 win7&win8 系统上添加 Telnet 服务。 操作过程:点击"开始"→"控制器面板"→" 查看方式:类型",再点击"程序"("查看方式:大 图标",则点击"程序和功能")→ "打开或关闭 windows 功能"→ 在"Windows 功能"界面勾选 Telnet 服务器和客户端 →最后点击"确定"等待安装。
分享到:
收藏