Ethereal过滤规则语法
- 格式:pdf
- 大小:839.52 KB
- 文档页数:9
实验七网络嗅探【实验目的】1.了解FTP、HTTP等协议明文传输的特性;2.了解局域网内的监听手段;3.掌握Ethereal嗅探器软件的使用方法;4.掌握对嗅探到的数据包进行分析的基本方法,并能够对嗅探到的数据包进行网络状况的判断。
【实验环境】两台以上装有Windows 2000/XP/2003操作系统的计算机。
【实验原理】(1)嗅探原理网络监听是一种常用的被动式网络攻击方法,能帮助入侵者轻易获得用其他方法很难获得的信息,包括用户口令、账号、敏感数据、IP地址、路由信息、TCP套接字号等。
管理员使用网络监听工具可以监视网络的状态、数据流动情况以及网络上传输的信息。
嗅探器(Sniffer)是利用计算机的网络接口截获发往其他计算机的数据报文的一种技术。
它工作在网络的底层,将网络传输的全部数据记录下来。
嗅探器可以帮助网络管理员查找网络漏洞和检测网络性能。
嗅探器可以分析网络的流量,以便找出所关心的网络中潜在的问题。
不同传输介质网络的可监听性是不同的。
一般来说,以太网(共享式网络)被监听的可能性比较高,因为以太网(共享式网络)是一个广播型的网络。
微波和无线网被监听的可能性同样比较高,因为无线电本身是一个广播型的传输媒介,弥散在空中的无线电信号可以被很轻易地截获。
在以太网中,嗅探器通过将以太网卡设置成混杂模式来捕获数据。
因为以太网协议工作方式是将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。
但是,当主机工作在监听模式下,无论数据包中的目标地址是什么,主机都将接收(当然自己只能监听经过自己网络接口的那些包)。
在Internet上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起,当同一网络中的两台主机通信的时候,源主机将写有目的主机地址的数据包直接发向目的主机。
但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一部分以太帧头的信息。
⽹络协议分析⼯具Ethereal的使⽤⼤学时计算机⽹络课的实验报告,当时提不起兴趣,今天看来还挺有⽤的。
可以学习下怎样抓数据包,然后分析程序的通信协议。
⼀:学习使⽤⽹络协议分析⼯具Ethereal的⽅法,并⽤它来分析⼀些协议。
实验步骤:1.⽤“ipconfig”命令获得本机的MAC地址和缺省路由器的IP地址;(注:缺省路由器即 ”Default Gateway”)命令⾏:Start->Run->CMD->ipconfig /all >C:\Mac.txt(在命令⾏中把ipconfig命令保存在⽂本⽂档⾥⾯备⽤)结果:本机Mac地址:00.09.73.4B.8A.D7 缺省路由器IP:192.168.8.254步骤截图:图1(本机⽹络信息:Mac.txt)2.⽤“arp”命令清空本机的缓存:命令⾏:Start->Run->CMD->arp –d图2(arp命令 –d参数的帮助说明)3.运⾏Ethereal,开始捕获所有属于ARP协议或ICMP协议的,并且源或⽬的MAC地址是本机的包:图3(Capture->Options中关于⽹卡设置和Capture Filter)图4(抓包截图)4.执⾏命令:“ping” 缺省路由器的IP地址:图5(捕获包)图6(ping 过程)⼆:⽤Ethereal观察tracert命令的⼯作过程:1.⽤Ethereal语法内容及参数说明:命令⾏操作步骤:Start->Run->CMD->tracert图1(Tracert命令全部参数的帮助说明)2.运⾏Ethereal, 设定源和⽬的MAC地址是本机的包,捕获tracert命令中⽤到的消息:Tracert使⽤ICMP,相应过滤规则为:ether host 00:09:73:4B:8A:D7 and icmp图3(Capture->Options中关于⽹卡设置和Capture Filter)3.执⾏“tracert -d ” ,捕获包:执⾏命令:tracert -d :图3 (执⾏命令 tracert –d )图4(抓包截图)图5(捕获包)4.Tracert⼯作原理:Tracert使⽤ICMP消息,具体地讲,tracert发出的是Echo Request消息,触发返回的是Time Exceeded消息和Echo Reply消息。
etherealEthereal (Ethereal:A Network Packet Sniffing Tool)是当前较为流行的一种计算机网络调试和数据包嗅探软件。
Ethereal 基本类似于tcpdump,但Ethereal 还具有设计完美的GUI和众多分类信息及过滤选项。
用户通过Ethereal,同时将网卡插入混合模式,可以查看到网络中发送的所有通信流量。
Ethereal 应用于故障修复、分析、软件和协议开发以及教育领域。
它具有用户对协议分析器所期望的所有标准特征,并具有其它同类产品所不具备的有关特征。
目录应用范围软件特征【使用入门】【用Ethereal协议分析系统介绍】【用Ethereal分析协议数据包】【Ethereal支持的常用协议端口号】应用范围Ethereal 是一种开发源代码的许可软件,允许用户向其中添加改进方案。
Ethereal 适用于当前所有较为流行的计算机系统,包括Unix、Linux和Windows。
软件特征Ethereal 主要具有以下特征:在实时时间内,从网络连接处捕获数据,或者从被捕获文件处读取数据;Ethereal 可以读取从tcpdump(libpcap)、网络通用嗅探器(被压缩和未被压缩)、SnifferTM 专业版、NetXrayTM、Sun snoop 和atmsnoop、Shomiti/Finisar 测试员、AIX的iptrace、Microsoft的网络监控器、Novell的LANalyzer、RADCOM 的WAN/LAN 分析器、ISDN4BSD 项目的HP-UX nettl 和i4btrace、Cisco 安全IDS iplog 和pppd 日志(pppdump 格式)、WildPacket 的EtherPeek/TokenPeek/AiroPeek 或者可视网络的可视UpTime 处捕获的文件。
此外Ethereal 也能从Lucent/Ascend W AN 路由器和Toshiba ISDN 路由器中读取跟踪报告,还能从VMS的TCPIP 读取输出文本和DBS Etherwatch。
Ethereal还可以使用libpcap过滤语言进行捕获过滤。
在Capture Option对话框中,将捕获过滤表达式输入到过滤字段,一个过滤表达式是由几个简单的表达式通过and/or 及not 连接在一起形成的。
Filter string 语法输入的格式●[src|dst] host <host>●ether [src|dst] host <ehost>●gateway host <host>●[src|dst] net <net> [{mask <mask>}|{len <len>}●[tcp|udp] [src|dst] port <port>●less|greater <length>●ip|ether proto <protocol>●ether|ip broadcast|multicast●<expr> relop <expr>比如说:●捕获MAC地址为00:d0:f8:00:00:03 网络设备通信的所有报文过滤表达式为:ether host 00:d0:f8:00:00:03●捕获IP地址为192.168.10.1 网络设备通信的所有报文过滤表达式为:host 192.168.10.1●捕获网络web浏览的所有报文过滤表达式为:tcp port 80●捕获192.168.10.1除了http外的所有通信数据报文过滤表达式为:host 192.168.10.1 and not tcp port 80●捕获过滤:从一个主机到另一个主机的telnet过滤表达式为:TCP port 23 and host 10.0.0.5。
●捕获所有除10.0.0.5主机以外的telnet流量过滤表达式为:TCP port 23 and not host 10.0.0.5Capture filter比如说:a.捕获MAC地址为00:d0:f8:00:00:03 网络设备通信的所有报文ether host 00:d0:f8:00:00:03b.捕获IP地址为192.168.10.1 网络设备通信的所有报文host 192.168.10.1c.捕获网络web浏览的所有报文tcp port 80d.捕获192.168.10.1除了http外的所有通信数据报文host 192.168.10.1 and not tcp port 80◆[src|dst] host <host>◆ether [src|dst] host <ehost>◆gateway host <host>◆[src|dst] net <net> [{mask <mask>}|{len <len>}◆[tcp|udp] [src|dst] port <port>◆less|greater <length>◆ip|ether proto <protocol>◆ether|ip broadcast|multicast◆<expr> relop <expr>Equal: eq, == (等于)Not equal: ne, != (不等于)Greater than: gt, > (大于)Less Than: lt, < (小于)Greater than or Equal to: ge, >= (大等于)Less than or Equal to: le, <= (小等于)Analyze下的Display filters正确的语法如下,和“Capture Filter”的语法有所不同:显示以太网地址为00:d0:f8:00:00:03 设备通信的所有报文eth.addr==00.d0.f8.00.00.03显示IP地址为192.168.10.1 网络设备通信的所有报文ip.addr==192.168.10.1显示所有设备web浏览的所有报文tcp.port==80显示192.168.10.1除了http外的所有通信数据报文ip.addr==192.168.10.1 && tcp.port!=80。
网络协议分析软件EtherealEthereal使用手册使用手册贺思德申浩如2007年7月目录第¥章 网络协议分析软件Ethereal使用手册 ¥.1 网络协议分析概述¥.2 网络协议分析软件Ethereal简介¥.2.1 Ethereal概述1. Ethereal的用户界面简介2. 在网络中部署Ethereal¥.2.2 下载和安装¥.2.3 Ethereal的使用1. Ethereal的主界面2. Ethereal的菜单及其使用¥.2.4 Ethereal过滤器(Filters)的使用1. 捕获过滤规则的书写2. 显示过滤规则的书写第¥章 网络协议分析软件Ethereal本章介绍网络协议分析软件Ethereal ,包括两个方面:1)网络协议分析和网络嗅探的概念和工作原理;2)网络协议分析软件Ethereal 的使用方法。
网络协议数据分析用于捕获真实网络的数据流,通过分析这些数据以确定在网络上发生了什么事情,用于网络安全管理、故障诊断、黑客追踪等。
本章首先介绍网络协议分析的概念及其工作原理,接着详细讲解网络协议分析软件Ethereal 的使用,包括界面介绍、在网络系统中的捕获位置选择、软件安装、过滤器的使用等。
Ethereal 主界面上的各种操作菜单的介绍包括:文件菜单(File )、编辑菜单(Edit )、包捕获菜单(Capture )、分析菜单(Analyze )、统计菜单(Statistics )。
还介绍捕获过滤器和显示过滤器的表达式书写等。
学习使用Ethereal ,必须把握以下几点:1)理解和熟悉ICP/IP 网络协议的基础知识。
必须对所监测的网络及其协议有清楚的理解,尤其是网络各层协议的工作过程、协议字段的含义及表现形式。
2)要多阅读分析网络包的捕获实例。
建议读者亲自捕获一些自己的真实网络上的数据包,以这些包为实验材料进行各种功能的练习,这样才能领会Ethereal 每项功能设计的用意所在,提高自己对网络真实数据的分析判读能力。
Ettercap介绍⽹络嗅探,中间⼈攻击概要ettercap [ OPTIONS ] [ Target1 ] [ TARGET2 ]TARGET的格式为MAC / IP / IPv6 / PORT,其中IP和PORT可以是范围当IP有多个的时候,可以⽤“,”分隔不同的C段ip,可以⽤“-”表⽰连续的ip,可以⽤“;”分隔不同表达形式的ip。
(例如/192.168.0.1-30,40,50/20,22,25)描述Ettercap最初是交换局域⽹(甚⾄显然是“拥挤的”局域⽹)的嗅探器,但在开发过程中,它获得了越来越多的功能,从⽽使其转变为强⼤⽽灵活的中间⼈攻击⼯具。
它⽀持许多协议(甚⾄是加密协议)的主动和被动解剖,并包括许多⽤于⽹络和主机分析的功能(例如OS指纹)。
两个主要的嗅探选项:UNIFIED,此⽅法嗅探通过电缆传递的所有数据包。
您可以选择是否将接⼝置于混杂模式(-p选项)。
未定向到运⾏ettercap的主机的数据包将使⽤第3层路由⾃动转发。
因此,您可以使⽤从其他⼯具发起的mitm攻击,并让ettercap修改数据包并为您转发。
BRIDGED,它使⽤两个⽹络接⼝,并在执⾏嗅探和内容过滤时将流量从⼀个转发到另⼀个。
这种嗅探⽅法完全是秘密的,因为⽆法找到有⼈在电缆中间。
您可以将此⽅法视为第1层的mitm攻击。
您将位于两个实体之间的电缆中间。
不要在⽹关上使⽤它,否则它将把您的⽹关变成⽹桥。
提⽰:您可以使⽤内容过滤引擎丢弃不应通过的数据包。
这样,ettercap可以⽤作嵌⼊式IPS;)UBIFIED常⽤,参数 -M(M是MITM的⾸字母,为中间⼈攻击的缩写) BRIDGED在同⼀设备下的两块⽹卡之间进⾏路由转发功能在Ettercap中默认关闭内核ip_forwarding始终由ettercap禁⽤。
这样做是为了防⽌转发数据包两次(⼀次通过ettercap,⼀次通过内核)。
这是⽹关上的⼀种⼊侵⾏为。
因此,我们建议您仅在启⽤UNOFFENSIVE MODE的情况下在⽹关上使⽤ettercap。
filter的用法搭配一、filter函数的基本介绍filter函数是Python内置的一个高阶函数,它接受一个函数和一个可迭代对象作为参数,用于过滤出满足条件的元素并返回一个新的可迭代对象。
二、filter函数的语法和返回值filter函数的语法如下所示:filter(function, iterable)其中,function是一个函数,用于判断iterable中的每个元素是否满足条件。
iterable是一个可迭代对象,可以是列表、元组、集合或字符串。
filter函数返回一个filter对象,可以使用list()函数将其转换为列表。
三、使用filter函数的示例下面通过几个示例来演示filter函数的用法。
示例1:过滤出偶数numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]def is_even(n):return n % 2 == 0result = filter(is_even, numbers)even_numbers = list(result)print(even_numbers) # 输出:[2, 4, 6, 8, 10]在这个示例中,我们定义了一个is_even函数,用于判断一个数是否为偶数。
然后使用filter函数过滤出列表numbers中的所有偶数并将其转换为列表even_numbers。
示例2:过滤出长度大于等于5的字符串strings = ["apple", "banana", "cherry", "date", "elderberry"]def is_long(s):return len(s) >= 5result = filter(is_long, strings)long_strings = list(result)print(long_strings) # 输出:['banana', 'cherry', 'elderberry']在这个示例中,我们定义了一个is_long函数,用于判断一个字符串的长度是否大于等于5。
如何使用Ethereal进行1,先过滤后抓包:首先在Capture Options点击Capture Filter设置过滤规则。
若要实时查看,请勾选Display Options的Update list of packets in real time,然后抓包。
示例:输入host 192.168.1.5 and port 80,仅抓取IP为192.168.1.5,端口为80的包。
2,先抓包后过滤:抓包后,在Filter中输入表达式过滤。
示例:输入ip.src,ip.dst,tcp.srcport,tcp.dstport,tcp.ack,tcp.len,eth等,可与关系表达式配合使用。
如ip.src==192.168.1.5 &&tcp.srcport==80,仅显示源IP为192.168.1.5,源端口为80的包。
Q:如何分析使用Ethereal抓到的包?这里简单以TCP/IP为例(修改网摘),一,数据链路层:1、Destination:目的MAC地址。
(eth.src)2、Source:源MAC地址。
(eth.dst)3、Type:以太网类型(IP0x0800,8表示为以太网)。
(eth.type)二,IP网络层:1、Version=4,表示IP协议的版本号为4.该部分占4个BIT位。
(ip.version)2、Header Length=20 Bytes,表示IP包头的总长度为20个字节。
该部分占4个BIT位,单位为4个字节,因此,一个IP包头的长度最长为“1111”,即15*4=60个字节。
3、Type of Service=00,表示服务类型为0.该部分用二个十六进制值来表示,共占8个BIT.8个BIT的含义是:000前三位不用0表示最小时延,如Telnet服务使用该位0表示吞吐量,如FTP服务使用该位0表示可靠性,如SNMP服务使用该位0表示最小代价0不用4、Total Length=48Bytes,表示该IP包的总长度为48个字节。