实验二网络嗅探
- 格式:doc
- 大小:960.33 KB
- 文档页数:11
实验二 Wireshark的使用与PackerTracer的使用实验目的:掌握网络协议分析软件Wireshark的常用操作和网络模拟器PackerTracer的常用操作。
实验环境:计算机若干、直通双绞线若干、小型非管理交换机10台。
实验步骤:1、配置对等局域网2、Wireshark的使用(1)启动系统。
点击“Wireshark”图标,将会出现如图1 所示的系统界面。
图1 Wireshark 系统界面其中“俘获(Capture)”和“分析(Analyze)”是Wireshark 中最重要的功能。
(2) 分组俘获。
点击“Capture/Interface”菜单,出现如图2 所示界面。
图2 俘获/接口界面如果该机具有多个接口卡,则需要指定希望在哪块接口卡俘获分组。
点击“Options”,则出现图3 所示的界面。
图3 俘获/接口/选项界面在该界面上方的下拉框中将列出本机发现的所有接口;选择一个所需要的接口;也能够在此改变俘获或显示分组的选项。
此后,在图2 或者图3 界面中,点击“Start(开始)”,Wireshark 开始在指定接口上俘获分组,并显示类似于图4 的界面。
当需要时,可以点击“Capture/Stop” 停止俘获分组,随后可以点击“File/Save”将俘获的分组信息存入踪迹(trace)文件中。
当需要再次俘获分组时,可以点击“Captuer/Start”重新开始俘获分组。
(3) 协议分析。
系统能够对Wireshark 俘获的或打开的踪迹文件中的分组信息(用File/Open 功能)进行分析。
如图4 所示,在上部“俘获分组的列表”窗口中,有编号(No)、时间(Time)、源地址(Source)、目的地址(Destination)、协议(Protocol)、长度(Length)和信息(Info) 等列(栏目),各列下方依次排列着俘获的分组。
中部“所选分组首部的细节信息”窗口给出选中协议数据单元的首部详细内容。
沈阳理工大学应用技术学院信息工程学院实验报告实验名称实验一网络嗅探实验课程名称信息安全姓名学号日期2011/11/2 地点6#504成绩教师【实验目的】1. 掌握Sniffer (嗅探器)工具的使用方法,实现FTP 、HTTP 数据包的捕捉。
2. 掌握对捕获数据包的分析方法,了解FTP 、HTTP 数据包的数据结构和连接过程,了解FTP 、HTTP 协议明文传输的特性,以建立安全意识。
【实验环境(软件、硬件及条件)】网络拓扑图DNS :192.168.1.163IP:192.168.1.8FTP 服务器1. 实验室所有机器安装了Windows 操作系统,并组成了一个局域网,并且都安装了SnifferPro 软件、FLASHFXP (FTP 下载软件)、Flashget 下载工具(或者其他软件下载工具)和IE 浏览器。
2. 每两个学生为一组:其中学生A 进行Http 或者Ftp 连接,学生B 运行SnifferPro 软件监听学生A 主机产生的网络数据包。
完成实验后,互换角色重做一遍。
【实验方法】任务一:熟悉SnifferPro 的使用 Sniffer 主界面从文件菜单中选择适配器,标题栏将显示激活的探测器选择适配器.. 文件菜单----选择网络探测器/适配器(N)----显示所有在Windows中配置的适配器菜单与工具栏状态栏.. 监视右下角的实时计数网络监控面板Dashboard红色显示统计数据的阀值使用Dashboard作为网络状况快速浏览选择上图中②所指的选项将显示如图所示的更为详细的网络相关数据的曲线图。
Host table(主机列表)点击图中①所指的图标,出现图中显示的界面,选择图中②所指的IP选项,界面中出现的是所有在线的本网主机地址及连到外网的外网服务器地址,此时想看看192.168.113.88这台机器的上网情况,只需如图中③所示单击该地址出现下图界面。
..图中清楚地显示出该机器连接的地址。
网络监听实验
一.实验目的
(1)理解网络嗅探的工作机制和作用。
(2)学习常用网络嗅探工具sniffer和协议分析工具Wireshaek的使用。
二.实验环境
Windows2000/XP平台、局域网环境。
嗅探sniffer及协议分析器Wireshaek。
三.实验步骤
1)使用sniffer进行嗅探及数据抓包取
(1)下载并安装sniffer:
(2)使用sniffer对本地主机进行嗅探,抓取数据包
(3)浏览网站时,抓取数据包,并观察TCP数据连接建立与结束过程
(4)登陆QQ时,抓取数据包
(5)保存生成的数据文件
2)使用Wireshark进行协议分析
(1)下载安装Wireshark
(2)使用Wireshark进行数据包捕获,分析获得的数据,并观察三次握手过程。
四.实验结果
使用sniffer嗅探器抓获的数据包,我们可以看到数据包的源地址和目的地址,以及使用的连接方式(TCP方式或是HTTP方式或是FTP方式等)。
还可以看到是通过哪个端口进行数据报文的传输。
可以选择任一数据项进行以上分析。
五.遇到的问题及解决办法
问题1:怎么使用sniffer进行抓包?
解决方案:点击菜单栏抓获按钮开始抓获,如要停止抓获,则点击停止按钮。
问题2:怎么查看各项参数的具体信息?
解决方案:点击仪表下的“Detail”按钮,就可以查看了。
六.总结
通过这次实验基本掌握了sniffer嗅探器的使用,了解了嗅探的工作机制和作用,但是由于对sniffer工具的使用较生疏,实验中出现了一些问题,不过在问题的解决中也学到了一些知识。
实验4 网络嗅探之明文嗅探班级:12 学号:姓名:背景描述由于TCP/IP协议的开放性,一般在没有采用安全协议的情况下,网络上的数据都是以明文的方式来传送。
而在目前,社会上还没有绝对安全的通信线路,无论是利用轴电缆、双绞线、光纤还是无线作为网络传输数据的方式,黑客都可以通过搭线的方式窃听机密数据。
本章将利用Sniffer软件来充当网络嗅探器进行网络嗅探,捕获网络中传输的明文数据,包括帐号、密码等机密信息。
嗅探器,可以理解为一个安装在计算机上的窃听设备它可以用来窃听计算机在网络上所产生的众多的信息。
简单一点解释:一部电话的窃听装置, 可以用来窃听双方通话的内容,而计算机网络嗅探器则可以窃听计算机程序在网络上发送和接收到的数据。
实验目的●掌握嗅探器基本概念●掌握嗅探器的基本原理实验步骤及过程一、进行账号密码的嗅探1.进入Linux虚拟机,对用户进行嗅探:打开“Terminal”>“sniffit -a –t 172.17.49.205”图1图2回到本机,在控制台中登陆terminal>”ftp172.17.49.213”>” Name:bluedon ”>” pass:12345图3此时可以看到嗅探结果,如下图4,账号和密码都嗅探出来了:图4问题答辩1、嗅探会造成哪些危害?答:1、获得帐号密码,包括Telnet这样的系统管理帐号2、获得机密信息3、分析网络结构、进行渗透4、数据欺骗和劫持(嗅探结合欺骗技术)2、如何检测并防范网络嗅探?答:1、重视内部网络的管理,严格禁止使用任何嗅探工具对于内部网络的安全,管理显得格外重要。
除网络管理员外网络的正常使用,是不会运行到任何嗅探相关。
2、重视病毒的来源渠道这里并不是说嗅探器是一种病毒,只是表明那些病毒的来源方式也可能是嗅探器进入常采用的途径。
3、改造内部网络结构普通的嗅探器程序只是简单地进行数据的捕获,因此需要杜绝网络数据进行泛播。
图标,开启网络监视面板,仪表板可以监控网络的利用率,流量
、捕获FTP数据包并进行分析
(1)假设VPC1主机监视本机的活动,首先VPC1主机要知道本机的IP 地址,VPC1主机可以在DOS命令符提示下输入ipconfig查询自己的IP地址。
(2)选中Monitor菜单下的或直接点击网络性能监视快捷键,此时
(5).开始捕捉后,单击工具栏中的Capture Panel按钮,显示出捕捉
Packet的数量
、捕获HTTP数据包
(1) 同步骤4(1)
(2) 同步骤4(2)
(3) 同步骤4(3),不同的是单击菜单中的Capture->Define
Filter->Advanced,再选中IP->TCP->HTTP,然后单击ok。
(4) 同步骤4(4)
(5) 同步骤4(5)
(6) VPC1主机访问VPC2,在VPC1地址栏中输入http://192.168.12.67
(以VPC2实际IP地址为准),应显示如下截图
jianghao17209。
为后面的学习打下了基础。
sniffer实验报告Sniffer实验报告引言:在现代信息技术高度发达的时代,网络安全问题日益突出。
为了保护个人隐私和网络安全,网络管理员和安全专家需要不断寻找新的方法和工具来监测和防止网络攻击。
Sniffer(嗅探器)作为一种常见的网络安全工具,可以帮助我们分析网络流量并检测潜在的威胁。
本实验旨在了解Sniffer的工作原理和应用,并通过实际操作来验证其有效性。
一、Sniffer的工作原理Sniffer是一种网络数据包分析工具,其基本原理是通过监听网络接口,捕获经过该接口的数据包,并对其进行解析和分析。
Sniffer可以在本地网络或互联网上的任何位置运行,以便监测和分析网络流量。
它可以截取各种类型的数据包,包括TCP、UDP、ICMP等,并提取其中的关键信息,如源IP地址、目标IP地址、端口号等。
二、Sniffer的应用场景1. 网络安全监测:Sniffer可以帮助网络管理员及时发现和分析潜在的网络攻击,如端口扫描、DDoS攻击等。
通过监测网络流量,Sniffer可以检测到异常的数据包,并对其进行分析,提供有关攻击者的信息和攻击方式的线索。
2. 网络故障排查:当网络出现故障时,Sniffer可以帮助我们快速定位问题所在。
通过捕获和分析数据包,我们可以了解网络中的通信情况,查找网络设备的故障点,并进行相应的修复。
3. 网络性能优化:Sniffer可以帮助我们监测和分析网络的性能瓶颈,并提供优化建议。
通过分析网络流量和延迟情况,我们可以找到网络中的瓶颈节点,并采取相应的措施来提高网络的性能和稳定性。
三、实验过程和结果为了验证Sniffer的有效性,我们在实验室环境中搭建了一个小型网络,并使用Sniffer来捕获和分析数据包。
实验中,我们使用了Wireshark作为Sniffer工具,并连接了一台电脑和一个路由器。
首先,我们启动Wireshark,并选择要监听的网络接口。
然后,我们开始捕获数据包,并进行一段时间的网络活动,包括浏览网页、发送电子邮件等。
班级:姓名:序号:
实验一:网络扫描和嗅探
一、实验目的
1.掌握网络端口扫描器的使用方法,熟悉常见端口和其对应的服务程序,掌
握发现系统漏洞的方法。
2.掌握综合扫描及安全评估工具的使用方法,了解进行简单系统漏洞入侵的
方法,了解常见的网络和系统漏洞以及其安全防护方法。
二、实验环境
虚拟机VM下的Windows Server 2003
三、实验内容
1.使用Superscan端口扫描工具并分析结果
2.使用Fluaxy5端口扫描工具并分析结果
四、实验步骤
打开superscan,设定端口,地址等信息
扫描到和我一组的同学的主机(192.168.2.206)及其开放的端口
该同学在他的计算机上关闭21端口后扫描的结果,21端口不见了
在192.168.2.206上重新开启21端口(FTP服务端口),并设置允许匿名访问
设置只扫描的IP地址(192.168.2.206)
检测到192.168.2.206存在FTP漏洞
使用匿名访问的方式连接上192.168.2.206,
五、遇到的问题及解决办法
对面如果没有开启共享的话,是不能使用IPC$语句的,因而在做这个实验之前应该事先在目的主机上设置开启共享。
六、心得体会
通过这次网络的扫描和嗅探实验,我觉得最大的收获就是不能设置弱口令或者直接设置无口令,从superscan的猜解字典可以看到,里面都是一些十分容易被破解的,或是长度不够的弱口令,这就要求我们在设置密码时应当尽量避免设置这些密码。
嗅探器实验报告学院:通信工程班级:011252学号:01125118:寇天聪嗅探器设计原理嗅探器作为一种网络通讯程序,也是通过对网卡的编程来实现网络通讯的,对网卡的编程也是使用通常的套接字(socket)方式来进行。
通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发出的数据帧,对于其他形式的数据帧比如已到达网络接口但却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地址之后将不引起响应,也就是说应用程序无法收取到达的数据包。
而网络嗅探器的目的恰恰在于从网卡接收所有经过它的数据包,这些数据包即可以是发给它的也可以是发往别处的。
显然,要达到此目的就不能再让网卡按通常的正常模式工作,而必须将其设置为混杂模式。
网络嗅探器无论是在网络安全还是在黑客攻击方面均扮演了很重要的角色。
通过使用网络嗅探器可以把网卡设置于混杂模式,并可实现对网络上传输的数据包的捕获与分析。
此分析结果可供网络安全分析之用,但如为黑客所利用也可以为其发动进一步的攻击提供有价值的信息。
可见,嗅探器实际是一把双刃剑。
虽然网络嗅探器技术被黑客利用后会对网络安全构成一定的威胁,但嗅探器本身的危害并不是很大,主要是用来为其他黑客软件提供网络情报,真正的攻击主要是由其他黑软来完成的。
而在网络安全方面,网络嗅探手段可以有效地探测在网络上传输的数据包信息,通过对这些信息的分析利用是有助于网络安全维护的。
本程序实现的基本功能:指定局域网的任一ip地址,能分析包的类型,结构,流量的大小。
嗅探器工作原理根据前面的设计思路,不难写出网络嗅探器的实现代码,下面就结合注释对程序的具体是实现进行讲解,同时为程序流程的清晰起见,去掉了错误检查等保护性代码。
源程序:#include <winsock2.h> /*windows socket的头文件,系统定义的*/#include <windows.h>#include <ws2tcpip.h>#include <stdio.h>#include <stdlib.h>#pragma ment(lib,"ws2_32.lib") /*API相关连的Ws2_32.lib静态库*/#define MAX_HOSTNAME_LAN 255#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)#define MAX_ADDR_LEN 16struct ipheader {unsigned char ip_hl:4; /*header length(报头长度)*/unsigned char ip_v:4; /*version(版本)*/unsigned char ip_tos; /*type os service服务类型*/unsigned short int ip_len; /*total length (总长度)*/unsigned short int ip_id; /*identification (标识符)*/unsigned short int ip_off; /*fragment offset field(段移位域)*/unsigned char ip_ttl; /*time to live (生存时间)*/unsigned char ip_p; /*protocol(协议)*/unsigned short int ip_sum; /*checksum(校验和)*/unsigned int ip_src; /*source address(源地址)*/unsigned int ip_dst; /*destination address(目的地址)*/}; /* total ip header length: 20 bytes (=160 bits) */typedef struct tcpheader {unsigned short int sport; /*source port (源端口号)*/unsigned short int dport; /*destination port(目的端口号)*/unsigned int th_seq; /*sequence number(包的序列号)*/unsigned int th_ack; /*acknowledgement number(确认应答号)*/ unsigned char th_x:4; /*unused(未使用)*/unsigned char th_off:4; /*data offset(数据偏移量)*/unsigned char Flags; /*标志全*/unsigned short int th_win; /*windows(窗口)*/unsigned short int th_sum; /*checksum(校验和)*/unsigned short int th_urp; /*urgent pointer(紧急指针)*/}TCP_HDR;typedef struct udphdr {unsigned short sport; /*source port(源端口号)*/unsigned short dport; /*destination port(目的端口号)*/unsigned short len; /*udp length(udp长度)*/unsigned short cksum; /*udp checksum(udp校验和)*/}UDP_HDR;void main(){SOCKET sock;WSADATA wsd;DWORD dwBytesRet;unsigned int optval = 1;unsigned char *dataudp,*datatcp;int i,pCount=0,lentcp, lenudp;SOCKADDR_IN sa,saSource, saDest;struct hostent FAR * pHostent;char FAR name[MAX_HOSTNAME_LAN];char szSourceIP[MAX_ADDR_LEN], szDestIP[MAX_ADDR_LEN],RecvBuf[65535] = {0};struct udphdr *pUdpheader;struct ipheader *pIpheader;struct tcpheader *pTcpheader;WSAStartup(MAKEWORD(2,1),&wsd);if ((sock = socket(AF_INET, SOCK_RAW, IPPROTO_IP))==SOCKET_ERROR) exit(1);gethostname(name, MAX_HOSTNAME_LAN);pHostent = gethostbyname(name);sa.sin_family = AF_INET;sa.sin_port = htons(6000);memcpy(&sa.sin_addr.S_un.S_addr, pHostent->h_addr_list[0], pHostent->h_length);bind(sock, (SOCKADDR *)&sa, sizeof(sa));/*bind()设定自己主机的IP地址和端口号*/if ((WSAGetLastError())==10013) exit(1);WSAIoctl(sock, SIO_RCVALL, &optval, sizeof(optval), NULL, 0, &dwBytesRet, NULL, NULL);pIpheader = (struct ipheader *)RecvBuf;pTcpheader = (struct tcpheader *)(RecvBuf+ sizeof(struct ipheader ));pUdpheader = (struct udphdr *) (RecvBuf+ sizeof(struct ipheader ));while (1){memset(RecvBuf, 0, sizeof(RecvBuf));recv(sock, RecvBuf, sizeof(RecvBuf), 0);saSource.sin_addr.s_addr = pIpheader->ip_src;strncpy(szSourceIP, inet_ntoa(saSource.sin_addr), MAX_ADDR_LEN);saDest.sin_addr.s_addr = pIpheader->ip_dst;strncpy(szDestIP, inet_ntoa(saDest.sin_addr), MAX_ADDR_LEN);lentcp =(ntohs(pIpheader->ip_len)-(sizeof(struct ipheader)+sizeof(struct tcpheader)));lenudp =(ntohs(pIpheader->ip_len)-(sizeof(struct ipheader)+sizeof(struct udphdr)));if((pIpheader->ip_p)==IPPROTO_TCP&&lentcp!=0){printf("*******************************************\n");pCount++;datatcp=(unsigned char *) RecvBuf+sizeof(struct ipheader)+sizeof(struct tcpheader);printf("-TCP-\n");printf("\n目的IP地址:%s\n",szDestIP);printf("\n目的端口:%i\n",ntohs(pTcpheader->dport));printf("datatcp address->%x\n",datatcp);printf("size of ipheader->%i\n",sizeof(struct ipheader));printf("size of tcpheader->%i\n",sizeof(struct tcpheader));printf("size of the hole packet->%i\n",ntohs(pIpheader->ip_len));printf("\nchar Packet%i [%i]=\"",pCount,lentcp-1);for (i=0;i<lentcp;i++){printf("\\x%.2x",*(datatcp+i));if (i%10==0) printf("\"\n\"");}printf("\";\n\n\n");for (i=0;i<lentcp;i++){if( *(datatcp+i)<=127&&*(datatcp+i)>=20)printf("%c",*(datatcp+i));elseprintf(".");}printf("\n\n*******************************************\n");}if((pIpheader->ip_p)==IPPROTO_UDP&&lentcp!=0){pCount++;dataudp=(unsigned char *) RecvBuf+sizeof(struct ipheader)+sizeof(struct udphdr);printf("-UDP-\n");printf("\n目的IP地址:%s\n",szDestIP);printf("\n目的端口:%d\n",ntohs(pTcpheader->dport));printf("UDP数据地址:%x\n",dataudp);printf("IP头部长度:%i\n",sizeof(struct ipheader));printf("UDP头部长度:%i\n",sizeof(struct udphdr));printf("包的大小:%i\n",ntohs(pIpheader->ip_len));printf("\nchar Packet%i [%i]=\"",pCount,lenudp-1);for (i=0;i<lenudp;i++){printf("\\x%.2x",*(dataudp+i));if (i%10==0)printf("\"\n\"");}printf("\";\n\n\n");for (i=0;i<lenudp;i++){if( *(dataudp+i)<=127&&*(dataudp+i)>=20)printf("%c",*(dataudp+i));elseprintf(".");}printf("\n\n*******************************************\n");}}}运行结果截图:实验总结1.实验中的遇到的问题:刚开始老师布置作业的时候完全不知道怎么做,在网上找了一些资料和借鉴同学的实验过程才完成了这个实验,着实不易。
. 实验二 网络嗅探 【实验目的】 1.了解ARP、ICMP等协议明文传输的特性; 2.了解局域网内的监听手段; 3.掌握Wireshark嗅探器软件的使用方法; 4.掌握对嗅探到的数据包进行分析的基本方法,并能够对嗅探到的数据包进行网络状况的判断。
【实验环境】
两台以上装有Windows XP以上操作系统的计算机。 【实验原理】
(1)嗅探原理 网络监听是一种常用的被动式网络攻击方法,能帮助入侵者轻易获得用其他方法很难获得的信息,包括用户口令、账号、敏感数据、IP地址、路由信息、TCP套接字号等。管理员使用网络监听工具可以监视网络的状态、数据流动情况以及网络上传输的信息。 嗅探器(Sniffer)是利用计算机的网络接口截获发往其他计算机的数据报文的一种技术。它工作在网络的底层,将网络传输的全部数据记录下来。嗅探器可以帮助网络管理员查找网络漏洞和检测网络性能。嗅探器可以分析网络的流量,以便找出所关心的网络中潜在的问题。 不同传输介质网络的可监听性是不同的。一般来说,以太网(共享式网络)被监听的可能性比较高,因为以太网(共享式网络)是一个广播型的网络。微波和无线网被监听的可能性同样比较高,因为无线电本身是一个广播型的传输媒介,弥散在空中的无线电信号可以被很轻易地截获。 在以太网中,嗅探器通过将以太网卡设置成混杂模式来捕获数据。因为以太网协议工作方式是将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当主机工作在监听模式下,无论数据包中的目标地址是什么,主机都将接收(当然自己只能监听经过自己网络接口的那些包)。在Internet上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起,当同一网络中的两台主机通信的时候,源主机将写有目的主机地址的数据包直接发向目的主机。但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加 . 了一部分以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和上的主机的物理地址,这是一个与IP地址相对应的48位的以太地址。 传输数据时,包含物理地址的帧从网络接口(网卡)发送到物理的线路上,如果局域网是由一条粗缆连接而成,则数字信号在电缆上传输,能够到达线路上的每一台主机。当使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网络接口读入数据帧,进行检查,如果数据帧中携带的物理地址是自己的或者是广播地址,则将数据帧交给上层协议软件,也就是IP层软件,否则就将这个帧丢弃,对于每一个到达网络接口的数据帧,都要进行这个过程。 然而,当主机工作在监听模式下,所有的数据帧都将交给上层协议软件处理。而且当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听模式下,它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外,现在网络中使用的大部分网络协议都是很早设计的,许多协议的实现都是基于一种非常友好的、通信双方充分信任的基础之上,许多信息以明文发送。因此,如果用户的账户名和口令等信息也以明文的方式在网络上传输,而此时一个黑客或网络攻击者正在进行网络监听,只要具有初步的网络和TCP/IP协议知识,便能轻易地从监听到的信息中提取出感兴趣的部分。同理,正确地使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯罪进行侦查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力手段。 目前常用的嗅探器工具主要有Ethereal、Sniffer Pro等。两个软件功能相似,均具有捕获网络中传输的数据功能,除此之外,Sniffer Pro还具有捕获网络流量进行详细分析的功能,并能够利用专家分析系统诊断问题,可以实时监控网络活动,收集网络利用率和错误等信息。 说明:网卡有四种接收模式,广播模式(broadcast),能够接收网络中的广播信息;组播模式(multicast),能够接收组播数据;直接(正常)模式(unicast),只能接收目的地址为该网卡地址的数据;混杂模式(promiscuous [prəmɪskju:əs]),能够接收一切通过它的数据,无论数据的目的地址是否与该网卡的地址相符。一般情况下,计算机的网卡工作在直接(正常)模式下;在进行网络嗅探时,我们需要将网卡设置为监听模式,也就是上面介绍的混杂模式。 (2) Wireshark软件 Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流、电压、电阻" 的工 . 作,只是将场景移植到网络上,并将电线替换成网络线。在过去,网络封包分析软件是非常昂贵的,或是专门属于营利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。 网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息…… Wireshark不是入侵侦测系统(Intrusion Detection System,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。 wireshark有两种过滤器: 捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中。 显示过滤器(DisplayFilters):用于在捕捉结果中进行详细查找。 捕捉过滤器在抓包前进行设置,决定抓取怎样的数据;显示过滤器用于过滤抓包数据,方便stream的追踪和排查。捕捉过滤器仅支持协议过滤,显示过滤器既支持协议过滤也支持内容过滤。两种过滤器它们支持的过滤语法并不一样。 ① Capture Filter语法 捕捉过滤器语法: Protocol Direction Host(s) Value Logical Operations Other expression 例子: tcp dst 10.1.1.1 80 and tcp dst 10.2.2.2 3128 示例: (host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8 捕捉IP为10.4.1.12或者源IP位于网络10.6.0.0/16,目的IP的TCP端口号在200至10000之间,并且目的IP位于网络 10.0.0.0/8内的所有封包。 字段详解: Protocol(协议): 可能值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp. 如果没指明协议类型,则默认为捕捉所有支持的协议。 注:在wireshark的HELP-Manual Pages-Wireshark Filter中查到其支持的协议。 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”关键字,”src 10.1.1.1″与”src host 10.1.1.1″等价。 Logical Operations(逻辑运算): 可能值:not, and, or. 否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。 “not tcp port 3128 and tcp port 23″与”(not tcp port 3128) and tcp port 23″等价。 “not tcp port 3128 and tcp port 23″与”not (tcp port 3128 and tcp port 23)”不等价。 ② Display Filter语法 1. 协议过滤语法 语法Protocol.String Comparison operator Value Logical Operations Other expression 通常经过捕捉过滤器过滤后的数据还是很复杂。此时您可以使用显示过滤器进行更加细致的查找。它的功能比捕捉过滤器更为强大,而且在您想修改过滤器条件时,并不需要重新捕捉一次。可以使用6种比较运算符和Logical expressions(逻辑运算符):
英文写法: C语言写法: 含义: eq == 等于 ne != 不等于 gt > 大于 lt < 小于 ge >= 大于等于 le <= 小于等于