Ethereal使用方法

合集下载

[工学]协议分析软件Ethereal的使用

[工学]协议分析软件Ethereal的使用

实验协议分析软件Ethereal 的使用一、实验目的和要求:熟悉掌握Ethereal软件的使用,并应用该软件分析Ethernet帧以及高级协议,从而能够加深对TCP/IP 协议栈上的参与通信的网络数据包结构以及通信方式有进一步的了解。

二、实验内容和原理1. 安装windows下的Ethereal及WinPcap软件。

2. 捕捉任何主机发出的DIX Ethernet V2(即Ethernet II)格式的帧(帧的长度字段>1500, 帧的长度字段实际上是类型字段),Ethereal的capture 的options中capture filter设置为:ether[12:2] > 1500 观察并分析帧结构,Ethernet II的帧(ether[12:2] > 1500)的上一层主要是哪些PDU?是IP、LLC还是其它哪种?IP3. 捕捉并分析局域网上的所有ethernet broadcast帧,Ethereal的capture 的options中capture filter设置为:ether broadcast(1). 观察并分析哪些主机在发广播帧,这些帧的高层协议是什么?ARP(2). 你的LAN的共享网段上连接了多少台计算机?1分钟内有几个广播帧?有否发生广播风暴?92台4. 捕捉局域网上主机发出或接受的所有ARP包capture 的options中capture filter设置为:arp host ip (1)主机上执行“arp –d ”清除arp cache.(2)在主机上ping 局域网上的另一主机(3)观察并分析主机发出或接受的所有ARP包,及arp包结构。

5. IP 分组的结构固 定 部分 可变 部分0 48 16192431版 本 标志 生 存 时 间协 议标 识服 务 类 型总 长 度 片 偏 移填 充首 部 检 验 和源 地 址 目 的 地 址可 选 字 段 (长 度 可 变) 比特 首部长度 01 2 3 4 5 6 7 D T R C 未用 优 先 级数 据 部 分首 部6、UDP 报文伪首部源端口目的端口长 度检验和数 据首 部UDP 长度源 IP 地址目的 IP 地址17 IP 数据报字节12 2 2 2 2 字节 发送在前数 据首 部 UDP 用户数据报附:1、Ethernet II的帧结构字节46 ~ 1500 目的地址源地址类型数据FCS目的地址:01:00:5e:22:17:ea源地址:00:1e:90:75:af:4f类型数据2、IP分组的结构版本首部长度服务类型总长度标识标志固 定 部分 可变 部分0 48 16192431版 本 标志 生 存 时 间协 议标 识服 务 类 型总 长 度 片 偏 移填 充首 部 检 验 和源 地 址 目 的 地 址可 选 字 段 (长 度 可 变) 比特 首部长度 01 2 3 4 5 6 7 D T R C 未用 优 先 级数 据 部 分首 部片偏移生存时间协议首部检验和源地址目的地址可选字段 数据3、 ARP 的报文格式硬件地址长度协议类型 发送方IP 地址(八位组0-1) 目标硬件地址(八位组2-5) 目标IP 地址(八位组0-3)发送方硬件地址(八位组0-3)硬件类型操作发送方硬件地址(八位组4-5) 发送方IP 地址(八位组2-3)协议长度目标硬件地址(八位组0-1)* 硬件类型指明发送方想知道的硬件接口类型。

ethreal使用说明

ethreal使用说明

分组嗅探器ethereal基本原理:要深入理解网络协议,需要:观察它们的工作并使用它们,即观察两个协议实体之间交换的报文序列,探究协议操作的细节,使协议实体执行某些动作,观察这些动作及其影响。

这些任务可以在仿真环境下或在如因特网这样的真实网络环境中完成。

观察在正在运行协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer)。

顾名思义,一个分组嗅探器俘获(嗅探)由你的计算机发送和接收的报文。

一般情况下,分组嗅探器将存储和显示出被俘获报文的各协议字段的内容。

图1显示了一个分组嗅探器的结构。

图1右边是计算机上正常运行的协议(在这里是因特网协议)和应用程序(如:web浏览器和ftp客户端)。

分组嗅探器(虚线框中的部分)是附加计算机普通软件上的,主要有两部分组成。

分组俘获库(packet capture library)接收计算机发送和接收的每一个链路层帧的拷贝。

高层协议(如:HTTP、FTP、TCP、UDP、DNS、IP等)交换的报文都被封装在链路层帧中,并沿着物理媒体(如以太网的电缆)传输。

图1假设所使用的物理媒体是以太网,并且上层协议的报文最终封装在以太网帧中。

分组嗅探器的第二个组成部分是分组分析器。

分组分析器用来显示协议报文所有字段的内容。

为此,分组分析器必须能够理解协议所交换的所有报文的结构。

例如:我们要显示图1中HTTP协议所交换的报文的各个字段。

分组分析器理解以太网帧格式,能够识别包含在帧中的IP数据报。

分组分析器也要理解IP数据报的格式,并能从IP数据报中提取出TCP报文段。

然后,它需要理解TCP报文段,并能够从中提取出HTTP消息。

最后,它需要理解HTTP消息。

Ethereal是一种可以运行在Windows, UNIX, Linux等操作系统上的分组分析器。

Ethereal是免费的,可以从得到。

运行ethereal程序时,其图形用户界面如图2所示。

最初,各窗口中并无数据显示。

ethereal使用说明

ethereal使用说明

ethereal汉化版用法目录1 Ethereal介绍 51.1 Ethereal为何物? 51.1.1 Ethereal可以帮人们做什么? 51.1.2 界面功能 51.1.3 实时的从不同网络介质抓取数据包 6 1.1.4 导入来自其它抓包工具的文件 61.1.5 为其它抓包工具导出文件 61.1.6 丰富的协议解码器 71.1.7 开放源代码软件 71.1.8 Ethereal不能做什么? 71.2 Ethereal运行平台 71.2.1 Unix 71.2.2 Linux 81.2.3 Microsoft Windows 81.3 那里可以得到ethereal? 81.4 Ethereal的读法 91.5 Ethereal的历史 91.6 Ethereal的设计和维护 91.7 问题报告和获得帮助 91.7.1 Web网站 91.7.2 WIKI 101.7.3 FAQ 101.7.4 邮件列表 101.7.5 问题报告 101.7.6 liunx/unix平台崩溃报告 111.7.7 Windows平台崩溃报告 112 编译和安装ethereal 112.1 介绍 112.2 获得ethereal源代码和应用发布版本 12 2.3 UNIX平台编译ethereal之前准备工作 12 2.4 UNIX平台编译ethereal源代码 132.5 UNIX平台应用版本安装 132.5.1 RedHat 的RPMs方式安装 142.5.2 Debian的安装方式 142.6 解决UNIX下安装失败问题 142.7 Windows下源代码的编译 142.8 Windows下Ethereal安装 142.8.1 安装ethereal 142.8.2 升级ethereal 152.8.3 卸载ethereal 153 用户操作界面 153.1 介绍 153.2 启动ethereal 153.3 ethereal主界面 153.4 “The Menu”主菜单 163.4.1 “File”文件菜单 183.4.2 “Edit”编辑菜单 193.4.3 “View”视图菜单 213.4.4 “GO”跳转菜单 233.4.5 “Capture”抓包菜单 243.4.6 “Analyze”分析菜单 243.4.7 “Statistics”统计报表菜单 263.4.8 “Help”帮助菜单 273.5 “Main”常用工具栏 283.6 “Filter Toolbar”显示过滤器工具栏 303.7 “Packet List”数据包列表窗格 313.8 “Packet Details”数据包信息树窗格 313.9 “Packet Bytes”数据包字节窗格 323.10 “Statusbar”状态栏 324 网络数据包实时抓取 334.1 介绍 334.2 使用Ethereal前的准备工作 334.3 如何开始抓包? 334.4 “Capture Interfaces”抓包网络接口窗口 344.5 “Capture Options”抓包选项窗口 354.5.1 “Capture”抓包常规框 354.5.2 “Capture File(s)”数据包文件框 364.5.3 “Stop Capture…”停止抓包框 374.5.4 “Display Options”显示选型框 384.5.5 “Name Resolution”名称解析框 384.5.6 “Buttons”按键 394.6 数据包文件和文件模式 394.7 “Link-layer header type”链接层数据头类型 40 4.8 抓包过滤器 404.9 抓包状态信息窗口 424.9.1 停止抓包 424.9.2 重新开始抓取 435 数据包文件导入、导出和打印 435.1 介绍 435.2 “Open”打开数据包文件 435.2.1 “Open Capture File”打开数据包文件窗口 44 5.2.2 支持导入文件格式 455.3 “Save As”存储数据包 455.3.1 输出文件格式 465.4 “Merging”合并数据包文件 475.5 “File Sets”文件系 485.6 “Exporting”导出文件 495.6.1 “Exporting as Plain Text File”导出无格式文件 495.6.2 “Export as PostScript File”导出PS格式文件 505.6.3 “Export as CSV(Comma Seperated Values)File”导出CSV(逗号分割)文件 50 5.6.4 “Export as PSML File”导出PSML格式文件 515.6.5 “Export as PDML File”导出PDML格式文件 515.6.6 “Export selected packet bytes”导出被选择数据包数据 525.7 “Printing”打印数据包 535.8 “Packet Range”数据包范围窗格 556 数据包分析 556.1 如何查看数据包 556.2 显示过滤器 606.3 如何书写显示过滤器表达式 616.3.1 显示过滤器字段 616.3.2 比较操作的数据类型和操作符 626.3.3 组合表达式 626.3.4 显示过滤器常见误解 636.4 “Filter Expression”过滤器表达式窗口 646.5 定义和存储过滤器 656.6 搜索数据包 676.6.1 “Find Packet”搜索数据包窗口 676.6.2 “Find Next”寻找下一个 686.6.3 “Find Previous”寻找上一个 686.7 “GO”跳转 686.7.1 “Go Back”后退 686.7.2 “Go Forward”向前 686.7.3 “Go to Packet”跳转到 686.7.4 “Go to Corresponding Packet”跳转到相关数据包 696.7.5 “Go to First Packet”跳到第一个数据包 696.7.6 “Go to Last Packet”跳到最后一个数据包 696.8 标记数据包 696.9 时间显示格式和时间基准点 706.9.1 时间显示格式 706.9.2 时间基准点 707 高级工具 727.1 介绍 727.2 “Following TCP streams”跟踪TCP数据流 727.2.1 TCP数据流跟踪窗口 737.3 Time Stamps时间标记 747.3.1 Ethereal内部时间格式 747.3.2 数据包文件时间格式 747.3.3 时间正确性 747.4 时区问题 757.4.1 什么是时区? 757.4.2 为你的计算机设置正确时间 757.4.3 Ethereal和时区 767.5 数据包重组 767.5.1 什么是数据包重组? 767.5.2 Ethereal如何实现包重组 767.6 名称解析 777.6.1 以太网名称解析(MAC层) 777.6.2 IP名称解析(网络层) 787.6.3 IPX名称解析(网络层) 787.6.4 TCP/UDP端口名称解析(传输层) 787.7 确保数据完整性 787.7.1 Ethereal核对概要 797.7.2 硬件里的概要计算和确认 798 统计 798.1 介绍 798.2 “Summary”统计窗口 808.3 “Protocol Hierrrchy”协议层次统计窗口 81 8.4 “Endpoint”终端统计 828.4.1 Endpoint终端是什么? 828.4.2 终端统计窗口 838.5 会话统计Conversations 838.5.1 什么是会话 838.5.2 会话窗口 838.6 IO曲线图窗口 858.7 服务响应时间统计 869 Ethereal客户配置 879.1 介绍 879.2 定义数据包颜色 879.3 控制协议解析器 899.3.1 “Enabled Protocols”协议解析开关窗口 89 9.3.2 用户配置解码 909.3.3 查看定义的解码方式 919.4 参数选择 921 Ethereal介绍1.1 Ethereal为何物?Ethereal是开源网络数据包分析软件。

Ethereal抓包工具使用方法

Ethereal抓包工具使用方法

Ethereal 使用方法一, 使用方法点击Capture 菜单下的Start 。

然后选择相应的参数,点击OK !Capture Options 选择的常见注意事项(每个选项前面的小方块,凹进去表示选中):1, Interface :如果你的计算机安装了多个网卡,注意选择你想抓包的那个网卡。

2, 需要选中的选项:Capture packets in promiscuous mode任何流经这台主机的数据包都将被捕获,如果按钮凸起,则只能捕获从主机发送或者发向该主机的数据包。

Update list of packets in real time是Ethereal 主界面上是否实时地显示抓包变化的选项,当选择了该项时,Ethereal 主界面上将实时地更新抓包列表,若不显示该项,所有的包列表将在抓包过程停止以后一起显示。

Automatic Strolling in live capture选项允许用户在抓包过程中能实时地察看新抓的数据包。

3,注意name resolution的选项不能选,否则抓包,保存,打开等过程会很慢。

“Name resolution”中有三个选项,“Enable MAC name resolution”是否将MAC地址的前三个字节翻译成IETF所规定的厂商前缀。

“Enable network name resolution”用于控制是否将IP地址解析为DNS域名。

“Enable transport name resolution”则用于控制是否将通信端口号转换为协议名称。

4,抓包时可以对所抓的包进行过滤,常用的过滤选项有:sip || mgcp,sip && h225 && h245,ip.addr == 10.11.2.9,udp.port == 1719,tcp.port == 2000等。

5,一般抓包的计算机需要与被抓的目标地址在一个HUB上,如果在一个LAN上,需要做端口镜像。

linux(Red Hat)抓包及ethereal抓包工具的使用方法

linux(Red Hat)抓包及ethereal抓包工具的使用方法

linux抓包及ethereal抓包工具的使用方法1.Linux抓包(1)一般抓包命令tcpdump -s0 -c 包数量-i 网卡名-w 文件名其中:-s0表示应用层的size不受限制,用于详细分析。

否则将被截断,即应用层消息可能不完整)-c 包数量到达某个数量后自动停止抓包,防止文件太大-i 只抓某个网卡的消息,不抓其他网卡的消息-w抓到的消息自动存入文件中,但消息不再在显示器上显示了例:tcpdump -s0 –c 10000 -i eth0 -w /tmp/1.cap抓取本机eth0网卡上所有进出的消息,且应用层的消息是完整的,并存入/tmp目录下的1.cap文件(.cap是ethereal消息包文件的后缀名),如果在抓包过程中用户不使用ctrl+c来中断的话,抓到10000条消息后自动停止抓包。

如果中途被中断,文件中存放的是中断之前的消息。

(2)指定交互双方的抓包命令tcpdump host 192.168.0.2 and 192.168.0.3 –s0 –w /tmp/2-3.cap只抓这2台主机之间交互的消息,其它消息被过滤掉。

由于ethereal工具功能强大,所以尽管tcpdump命令有许多参数可以达到许多过滤条件,但把这些事交给ethereal来做,我们就更省力。

2.ethereal抓包工具的使用方法把xxx.cap文件下载后,就可以使用ethereal工具来分析了。

当然也可在linux 机器上直接使用ethereal来抓包(需要安装rpm)而不用使用tcpdump命令。

现在介绍的是在windows电脑上启动ethereal程序,见下图:选择菜单“file”-open选择消息包文件:打开:选择菜单“statistics”-conversation list-tcp通过对IP地址的排序找到所关心的一次交互过程,在该条目上使用右键:该次交互过程中的所有消息便显示出来,可以认真分析了。

抓包工具Ethereal的使用.ppt

抓包工具Ethereal的使用.ppt

南研测试部
文档密级:内部公开
目录
Ethereal简介 Ethereal安装 Ethereal使用 Ethereal的抓包过滤器 Ethereal使用小技巧
南研测试部
Ethereal使用
文档密级:内部公开
启动Ethereal以后,选择菜单Capture->start,将会 出现以下配置页面:
南研测试部
Ethereal简介
文档密级:内部公开
Ethereal能够支持许多协议,但有些协 议需要安装插件以后才能抓包。首先要 下载Ethereal的协议插件,然后解压到 Ethereal安装目录的plugins下面,启动 Ethereal,在菜单Edit->preferences下 进行设置。
文档密级:内部公开
目录
Ethereal简介 Ethereal安装 Ethereal使用 Ethereal的抓包过滤器 Ethereal使用小技巧
南研测试部
文档密级:内部公开
Ethereal使用小技巧
抓包的时候,我们往往想把过滤后的信 令保存下来,而不是保存所有信令,这 时只需要在保存的时候点击[displayed] 按钮,再保存,保存下来的就是过滤后 的信令。这样的包的体积就比较小。
如果你想抓取某些特定的数据包时,可以有以下两种方法: 在抓包的时候,就先定义好抓包过滤器,这样结果就是只抓到 你设定好的那些类型的数据包; 先不管三七二十一,把本机收到或者发出的包一股脑的抓下来, 然后使用显示过滤器,只让Ethereal显示那些你想要的那些类型 的数据包。
南研测试部
文档级:内部公开
Ethereal的抓包过滤器
南研测试部
文档密级:内部公开

ethereal使用详解

ethereal使用详解

View的下拉菜单
Main toolbar 主工具栏 Filter Toolbar 过滤工具栏 Statusbar 状态条 Packet list 报文列表 Packet details 报文详解 Packet byte 报文字节察看 Time display format 时间显示格 式(可以显示年月日时分秒) Name Resolution 名字解析 Auto scroll in live capture 单看字 面真的不好翻译(自动翻卷显示 活动的报文),使用对比一下才 获知:捕获时是否跟进显示更新 的报文还是显示先前的报文。

go的下拉菜单
Back 同样双方的上个报文 Forward 同样双方的下一个报文 Go to packet 查找到指定号码的 报文 First packet 第一个报文 Last packet 最后一个报文

capture的下拉菜单
Start 开始捕获报文
capture的下拉菜单
Decode As 用户定义报文协议说明

User Specified Decodes 用户修改的报文编译
Analyze的Decode As
Decode As 用户定义报文协议说明
通过定义后,数据包细节的 窗口解释:原先是 tcp的解 释,更改就直接显示ssl格式 的报文了。
Analyze的follow tcp stream
[tcp|udp] [src|dst] port <port> less|greater <length> ip|ether proto <protocol> ether|ip broadcast|multicast <expr> relop <expr>

实验7 Ethereal使用

实验7 Ethereal使用

显示过滤器的语法--⑶ 逻辑操作符
英语 形式 and or not […] 类似C语 言形式 && || ! […] 含义 逻辑与 逻辑或 逻辑非 示 例 ip.addr==10.0.0.5 and tcp.flags.fin 示例的含义 过滤出源/目IP地址为10.0.0.5并 且TCP的FIN置1的数据包
UDP TCபைடு நூலகம் HTTP FTP协议
frame
捕获到的 frame.protocols == 过滤出数据帧中封装的协议依次为:以太网协议、 "eth:ip:tcp" IP协议、TCP协议的数据包 数据帧
显示过滤器的语法-- ⑵ 比较操作符
英语 类似C语言形 形式 式 eq == 含 义 相等(Equal) 示 例 udp.port = = 10002 或 udp.port eq 10002 ip.addr !=10.0.0.5 或 ip.addr ne 10.0.0.5 frame.pkt_len > 10 或 frame.pkt_len gt 10 frame.pkt_len < 128 或frame.pkt_len lt 128
查找er_agent中含有cldc 字符的数据包,并且不区分 大小写。(?option)这个表达式 是Perl表达式
matches
er_agent matches "(?i )cldc"
3. Ethereal的主要菜单项
File菜单
–对包捕获的结果以文件形式保存(Save)、打开(Open)、输出

Help(帮助)菜单

4. Ethereal使用示例

以主机202.196.73.134使用HTTP访问 为例,分析TCP的三次握手 过程。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用Ethereal分析协议数据包Ethereal是一个图形用户接口(GUI)的网络嗅探器,能够完成与Tcpdump相同的功能,但操作界面要友好很多。

Ehtereal和Tcpdump都依赖于pcap库(libpcap),因此两者在许多方面非常相似(如都使用相同的过滤规则和关键字)。

Ethereal和其它图形化的网络嗅探器都使用相同的界面模式,如果能熟练地使用Ethereal,那么其它图形用户界面的嗅探器基本都可以操作。

1. Ethereal的安装由于Ethereal需要WinPcap库, 所以先安装WinPcap_2_3.exe, 再安装Ethereal.exe。

2. 设置Ethereal的过滤规则当编译并安装好Ethereal后,就可以执行“ethereal”命令来启动Ethereal。

在用Ethereal截获数据包之前,应该为其设置相应的过滤规则,可以只捕获感兴趣的数据包。

Ethereal使用与Tcpdump相似的过滤规则(详见下面的“5.过滤规则实例”),并且可以很方便地存储已经设置好的过滤规则。

要为Ethereal 配置过滤规则,首先单击“Edit”选单,然后选择“Capture Filters...”菜单项,打开“Edit Capture Filter List”对话框(如图1所示)。

因为此时还没有添加任何过滤规则,因而该对话框右侧的列表框是空的。

图1 Ethereal过滤器配置对话框在Ethereal中添加过滤器时,需要为该过滤器指定名字及规则。

例如,要在主机10.1.197.162和间创建过滤器,可以在“Filter name”编辑框内输入过滤器名字“sohu”,在“Filter string”编辑框内输入过滤规则“host 10.1.197.162 and ”,然后单击“New”按钮即可,如图2所示。

图2 为Ethereal添加一个过滤器在Ethereal中使用的过滤规则和Tcpdump几乎完全一致,这是因为两者都基于pcap库的缘故。

Ethereal能够同时维护很多个过滤器。

网络管理员可以根据实际需要选用不同的过滤器,这在很多情况下是非常有用的。

例如,一个过滤器可能用于截获两个主机间的数据包,而另一个则可能用于截获ICMP包来诊断网络故障。

当所有需要的过滤器都创建好后,单击“Save”按钮保存创建的过滤器,然后单击“Close”按钮来关闭“Edit Capture Filter List”对话框。

要将过滤器应用于嗅探过程,需要在截获数据包之前或之后指定过滤器。

要为嗅探过程指定过滤器,并开始截获数据包,可以单击“Capture”选单,选择“Start...”选单项,打开“Capture Options”对话框,单击该对话框中的“Filter:”按钮,然后选择要使用的过滤器,如图3所示。

图3 为Ethereal指定过滤器注意在“Capture Options”对话框中,“Update list of packets in real time”复选框被选中了。

这样可以使每个数据包在被截获时就实时显示出来,而不是在嗅探过程结束之后才显示所有截获的数据包。

在选择了所需要的过滤器后,单击“OK”按钮,整个嗅探过程就开始了。

Ethereal 可以实时显示截获的数据包,因此能够帮助网络管理员及时了解网络的运行状况,从而使其对网络性能和流量能有一个比较准确的把握。

3. 用Ethereal分析数据包Ethereal和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。

使用Ethereal可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。

图4是在Ethereal中对一个HTTP数据包进行分析时的情形。

在图4最上边的数据包列表中,显示了被截获的数据包的基本信息。

从图中可以看出,当前选中数据包的源地址是10.1.197.162,目的地址为61.135.150.65,该数据包所属的协议是超文本传输协议(HTTP)。

更详细的信息表明该数据包中含有一个HTTP的GET命令,要求下载starrtlog.js文件到客户端的Web浏览器。

图4 用Ethereal分析数据包内容图4中间是协议树,通过协议树可以得到被截获的数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet Protocol)、TCP端口号(Transmission Control Protocol),以及HTTP协议的具体内容(Hypertext Trnasfer Protocol)。

通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。

图4最下边是以十六制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协议的数据包进行分析。

Ethereal提供的图形化用户界面非常友好,管理员可以很方便地查看到每个数据包的详细信息,协议树及其对应的十六进制表示对分析每个数据包的目的很有帮助,综合使用Ethereal和Tcpdump能够基本满足网络管理员在Linux和windows系统上的所有嗅探要求。

4. tcpdump的表达式介绍tcpdump的表达式就是前面提到的Ethereal过滤规则。

关于表达式语法结构的详细完整的介绍,请参看电子文档“TcpDump的表达式详解.htm”。

表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。

如果没有给出任何条件,则网络上所有的信息包将会被截获。

在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明202.0.0.0是一个网络地址,port 23 指明端口号是23。

如果没有指定类型,缺省的类型是host.第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src , 这些关键字指明了传输的方向。

举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。

如果没有指明方向关键字,则缺省是src or dst关键字。

第三种是协议的关键字,主要包括:ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp, udp.。

Fddi指明是在 FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。

其他的几个关键字就是指明了监听的包的协议内容。

如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算是'or' ,'||';这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。

(1)想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:#tcpdump host 210.27.48.1(2) 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中适用括号时,一定要#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)(3) 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:ip host 210.27.48.1 and ! 210.27.48.2(4)如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:tcp port 23 host 210.27.48.15.过滤规则实例●捕捉主机10.14.26.53和www服务器之间的通信(这里主机10.14.26.53可以是自身,也可以是通过普通HUB(而不是交换机)与本机相连的LAN上的其它主机或路由器,下同),Ethereal的capture filter 的filter string设置为:host 10.14.26.53 and ●捕捉局域网上的所有ARP包,Ethereal的capture filter 的filter string设置为:arp●捕捉局域网上主机10.14.26.53发出或接受的所有ARP包,Ethereal的capture filter 的filter string设置为:arp host 10.14.26.53或者等价地设置为:arp and host 10.12.105.27●捕捉局域网上主机10.14.26.53发出或接受的所有POP包(即src or dstport=110),Ethereal的capture filter 的filter string设置为:tcp port 110 and host 10.14.26.53或者等价地设置为:tcp and port 110 and host 10.14.26.53●捕捉局域网上主机10.14.26.53发出或接受的所有FTP包(即src or dstport=21),Ethereal的capture filter 的filter string设置为:tcp port 21 and host 10.14.26.53(1). 在主机10.14.26.53上用FTP客户端软件访问FTP server。

(2). 观察并分析10.14.26.53和FTP server之间传输的Ethernet II (即DIX Ethernet v2) 帧结构,IP数据报结构,TCP segment结构。

(3). 观察并分析FTP PDU名称和结构。

注意10.14.26.53发出的FTP requestPDU中以USER开头、以PASS开头的两个PDU,他们包含了什么信息?对INTERNET的FTP协议的安全性作出评价。

相关文档
最新文档