网络嗅探器设计
网络嗅探器毕业设计

网络嗅探器毕业设计网络嗅探器毕业设计在当今数字化时代,网络安全已成为一个重要的议题。
随着互联网的普及和技术的发展,网络安全威胁也日益增加。
为了保护网络的安全,许多组织和个人都在研发各种安全工具。
而网络嗅探器作为其中之一,具有重要的作用。
本文将探讨网络嗅探器的毕业设计以及其在网络安全中的应用。
网络嗅探器是一种用于监测和分析网络流量的工具。
它可以截获网络数据包,并对其进行解析和分析。
通过网络嗅探器,我们可以了解网络中正在进行的活动,发现潜在的安全威胁,并采取相应的措施进行防御。
在进行网络嗅探器的毕业设计时,首先需要确定设计的目标和功能。
网络嗅探器可以有多种功能,例如实时监测网络流量、检测异常活动、分析网络协议等。
根据自己的兴趣和需求,可以选择一个或多个功能进行设计。
其次,需要选择适合的硬件和软件平台。
网络嗅探器需要能够截获网络数据包的硬件设备,例如网卡。
同时,还需要选择合适的操作系统和开发工具来实现网络嗅探器的功能。
常见的操作系统有Linux和Windows,开发工具可以选择Python或C/C++等。
设计网络嗅探器时,需要考虑到数据包的捕获和解析。
数据包的捕获可以通过使用网络监听模式或者混杂模式来实现。
在数据包的解析方面,可以使用现有的网络协议解析库,例如libpcap或者WinPcap。
这些库可以帮助我们解析常见的网络协议,如TCP、UDP和HTTP等。
在设计网络嗅探器的功能时,可以考虑以下几个方面:1. 实时监测网络流量:网络嗅探器可以实时显示网络中的数据包流量,包括源IP地址、目标IP地址、协议类型等信息。
通过监测网络流量,我们可以及时发现异常活动,如大量的数据包传输或者未经授权的访问。
2. 检测异常活动:网络嗅探器可以通过分析网络流量来检测异常活动,如网络攻击或者恶意软件传播。
通过设置特定的规则和模式,可以对网络流量进行过滤和分析,以便及时发现和应对潜在的威胁。
3. 分析网络协议:网络嗅探器可以对网络协议进行解析和分析,以便了解网络中正在进行的活动。
(2020年编辑)网络嗅探器的设计与实现

《网络与信息安全》课程设计报告班级学号:姓名:题目:评阅:成绩:2011年1月目录一、开发背景1、网络安全现状。
2、开发意义。
二、设计分析1、实现目标。
2、开发技术简介。
三、详细设计1、嗅探原理。
2、代码设计。
四、测试运行五、总结六、参考文献摘要网络嗅探器是作用在网络上的一种监听程序,它是系统管理员的一个得力助手,管理员可以用它来分析网络。
例如当网络繁忙时可利用它来查找是哪一段网络繁忙,数据报文是属于哪一种协议,这样可以计算出哪种业务受欢迎。
但是当有黑客使用它时,它又变得很可怕。
它可以非法获取一些保密性信息,如帐号、密码等,它带来的负面破坏是非常大的。
作为从事网络安全技术方面的人员来说,要想有效地利用它、防范它就得深入地学习、分析网络嗅探技术。
1、本设计的基本任务是设计一个嗅探软件,实现对常用网络数据包抓取、分析。
2、软件所要完成对本机在网络中的通信数据,比如协议类型,源、目的地址和端口、数据包的大小等加以分析的功能。
3、本设计用到的开发工具为Microsoft Visual Studio 2010 开发环境为Windows 7。
4、程序由韩瑞彬同学和我共同完成,本人主要负责主界面的设计和网络数据包的抓取,韩瑞彬同学负责对数据包的解析设计。
关键字:嗅探器,安全,黑客,数据报文一、开发背景1、网络安全现状随着各种新的网络技术的不断出现、应用和发展,计算机网络的应用越来越广泛,其作用也越来越重要。
但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传送带来了新的问题。
计算机网络安全问题越来越严重,网络破坏所造成的损失越来越大。
Internet 的安全已经成为亟待解决的问题。
多数黑客入侵成功并植入后门后的第一件事就是选择一个合适当前网络的嗅探器,以获得更多的受侵者的信息。
嗅探器是一种常用的收集有用数据的方法,可以作为分析网络数据包的设备。
课程设计--基于C#的网络嗅探器的设计和实现

网络与信息安全课程设计网络嗅探器的设计和实现学院:计算机科学与技术班级:网络工程08-1班姓名:学号:指导老师:目录一、什么是嗅探器--------------------------------------------1二、嗅探器的作用---------------------------------------------1三、网络嗅探器的原理-----------------------------------------1四、反嗅探技术----------------------------------------------7五、网络嗅探器的设计-----------------------------------------8六、结语---------------------------------------------------14参考书目--------------------------------------------------14网络嗅探器的实际与实现一、什么是嗅探器嗅探器,可以理解为一个安装在计算机上的窃听设备它可以用来窃听计算机在网络上所产生的众多的信息。
简单一点解释:一部电话的窃听装置, 可以用来窃听双方通话的内容,而计算机网络嗅探器则可以窃听计算机程序在网络上发送和接收到的数据。
可是,计算机直接所传送的数据,事实上是大量的二进制数据。
因此, 一个网络窃听程序必须也使用特定的网络协议来分解嗅探到的数据,嗅探器也就必须能够识别出那个协议对应于这个数据片断,只有这样才能够进行正确的解码。
计算机的嗅探器比起电话窃听器,有他独特的优势:很多的计算机网络采用的是“共享媒体"。
也就是说,你不必中断他的通讯,并且配置特别的线路,再安装嗅探器,你几乎可以在任何连接着的网络上直接窃听到你同一掩码范围内的计算机网络数据。
我们称这种窃听方式为“基于混杂模式的嗅探”(promiscuous mode)。
网络嗅探器的设计与实现-毕业设计

毕业论文题目:网络嗅探器的设计与实现学院:数学与信息工程学院专业:计算机科学与技术此毕业设计还包括以下文件,需要的下载后留下邮箱方便发给大家网络嗅探器的设计与实现摘要:嗅探器,英文可以翻译为Sniffer,是一种基于被动侦听原理的网络分析方式。
使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。
实际上Sniffer技术被广泛地应用于网络故障诊断、协议分析、应用性能分析和网络安全保障等各个领域。
本次设计完成了一个较为简单的嗅探器,它实现了对本机的网络监控的作用,对IP包进行了分析,获得其运行的信息。
信息包括了源IP地址,目标IP地址,协议,时间,吞吐量,识别码,校验码,长度等等。
也可以保存所需要的包信息,也可选择所要嗅探的协议类型,以便获得要想的信息。
同时,通过POP3服务器设置端口的值来获取数据包,得到登入邮箱的帐号和密码。
关键词:嗅探器;协议;数据包;监听;吞吐量Design and Implementation of snifferZhang yin(College of Mathematics and Information Engineering, Jinxing University)Abstract:Sniffer, can be translated into English Sniffer,is a passive network analysis method based on the principle of listener. The use of such technology, can monitor the status of networks, data flows and information of network transmission. In fact Sniffer technology is widely used in network diagnosis, analysis of the agreement, performance analysis of the application and network security, and other fields.The design complete a relatively simple sniffer, it realized that the local network monitoring role, analysis the information of IP packet and get their information about the running system. Information includes the source address,destination address, protocol, time, throughput, identification, checking code, length and so on. It can save the information of required packet, and can choose the type of protocol to be sniffing, in order to get to the information.Meanwhile,it can get the Email’s log-mail account and password by analysis the port valu of the POP3 Server.Keywords:Sniffer; Protocol; Data packet; Monitor; Throughput目录1 绪论 (5)1.1 课题背景 (5)1.2 网络嗅探器的概述 (6)1.2.1 网络嗅探器的概念与原理 (6)1.2.2 网络嗅探的检测和防范 (7)1.2.3 网络嗅探器软件需要解决的问题 (8)2 网络嗅探器设计相关技术简述 (8)2.1 在交错环境下的嗅探技术 (8)2.1.1 ARP欺骗 (8)2.1.2 交换机MAC地址表溢出 (9)2.1.3 MAC地址伪造 (9)2.1.4 ICMP路由器发现协议欺骗 (9)2.1.5 ICMP重定向攻击 (9)2.2 C#语言编程 (10)2.3 网络协议 (10)2.3.1 IP (10)2.3.2 TCP (11)2.3.3 UDP (11)3 系统需求分析 (12)3.1 系统性能要求 (12)3.2 软件实现的功能 (12)4 网络嗅探器的相关拓展 (14)总结 (16)致谢 (16)参考文献 (17)附件 (18)1 绪论嗅探器,Sniffer是一种常用的收集有用数据方法,这些数据可以是用户的帐号和密码,可以是一些商用机密数据等等。
网络嗅探器的制作课件

数据过滤与解码
数据过滤
根据需要对捕获的数据包进行过滤,只保留感兴趣的数据包,减少分析的工作量。
数据解码
对捕获的数据包进行解码,将其转换为可读的格式,方便分析和理解。
数据统计与报告
数据统计
对捕获和分析的数据包进行统计,生 成各种统计报表,如流量统计、协议 分布等。
报告生成
根据统计结果生成报告,对网络通信 情况进行总结和描述,为网络管理员 提供决策依据。
应用场景
• 应用场景:网络嗅探器广泛应用于网 络故障排查、网络安全监控、网络性 能优化等方面。在网络故障排查中, 可以使用网络嗅探器来捕获和分析数 据包,帮助定位和解决问题。在网络 安全监控中,可以使用网络嗅探器来 检测和防范网络攻击、恶意软件等安 全威胁。在网络性能优化中,可以使 用网络嗅探器来分析网络流量和数据 包,优化网络性能和响应时间。
合规性审查
在使用网络嗅探器之前,应对其进行合规性审查,确保其符合相关法律法规和行业标准 的要求。
安全防护措施
加密通信
使用网络嗅探器时应采取加密通信措施 ,如使用SSL/TLS等加密协议,以保护数 据的机密性和完整性。
VS
防范恶意软件
网络嗅探器可能会被用于传播恶意软件, 因此在使用时应采取防范措施,如安装杀 毒软件、定期更新操作系统等。
04
网络嗅探器的安全问题
隐私保护
保护个人隐私
在使用网络嗅探器时,必须严格遵守隐私保护原则,不得非法获取或传播他人的个人信息。
避免侵犯他人权益
网络嗅探器可能会截获他人的通信数据,因此在使用时应确保不侵犯他人的合法权益,如隐私权、通 信自由等。
法律与合规性
遵守法律法规
在使用网络嗅探器时,必须遵守相关法律法规,不得从事非法活动,如黑客攻击、窃取 商业机密等。
网络嗅探器课程设计

网络嗅探器课程设计一、课程目标知识目标:1. 学生能理解网络嗅探器的基本原理和功能。
2. 学生能掌握网络嗅探器的工作流程和使用方法。
3. 学生了解网络安全知识,认识到网络嗅探器的合法与非法应用。
技能目标:1. 学生能够运用网络嗅探器进行数据包捕获和解析。
2. 学生能够分析捕获到的数据包,提取有用信息。
3. 学生能够独立完成网络嗅探器的操作,解决实际网络问题。
情感态度价值观目标:1. 学生培养对网络技术的兴趣,提高探究网络知识的热情。
2. 学生树立正确的网络安全意识,遵循法律法规,抵制非法网络行为。
3. 学生通过本课程的学习,增强团队协作能力,培养自主学习和解决问题的能力。
分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握网络嗅探器相关知识的基础上,提高实际操作技能,同时注重培养学生的网络安全意识和团队协作能力。
课程目标具体、可衡量,便于后续教学设计和评估。
二、教学内容1. 网络嗅探器原理及功能- 网络嗅探器的定义与作用- 数据包捕获与解析原理- 常用网络嗅探器软件介绍2. 网络嗅探器操作与实践- 安装与配置网络嗅探器- 数据包捕获、过滤与分析- 常见协议的数据包解析方法3. 网络安全与合法应用- 网络嗅探器的合法应用场景- 网络嗅探器在网络安全中的作用- 非法网络嗅探行为的危害及法律责任4. 教学案例分析与讨论- 实际案例介绍与问题分析- 团队协作分析与解决方案- 教师点评与总结教学内容依据课程目标,注重科学性和系统性,按照以下教学大纲进行安排:第1周:网络嗅探器原理及功能第2周:网络嗅探器操作与实践第3周:网络安全与合法应用第4周:教学案例分析与讨论教学内容与课本紧密关联,结合实际教学进度,确保学生能够逐步掌握网络嗅探器的相关知识。
三、教学方法本课程采用多样化的教学方法,旨在激发学生的学习兴趣和主动性,提高教学效果。
1. 讲授法:- 对于网络嗅探器的基本原理、功能以及网络安全等理论知识,采用讲授法进行教学。
上机1:基于WinPcap的网络嗅探器设计与实现

上机1:基于WinPcap的网络嗅探器设计与实现上机1:基于WinPcap的网络嗅探器设计1、目的与要求掌握基于WinPcap的网络编程模式。
理解并能应用WinPcap设计并实现网络数据包的捕获与解析。
2、设备与上机环境连网PC机(至少一台)。
计算机硬件要求:Intel Pentium5 处理器、256MB以上内存,Ethernet网卡,网线若干。
计算机软件要求:MS Windows 9x/2000/XP操作系统,TCP/IP协议,WinPcap430,Visualc++6.0/.net系统。
3、上机内容与步骤:在程序设计之前,请参照提供的软件安装WinPcap。
之后,按照如下步骤操作:步骤1:在VC++ 6.0下创建一个DOS命令行程序,工程名:自己的学号-PacketDumpint res;struct pcap_pkthdr *header;const u_char *pkt_data;printf("pktdump_ex: prints the packets of the network using WinPcap.\n");printf(" Usage: pktdump_ex [-s source]\n\n"" Examples:\n"" pktdump_ex -s file.acp\n"" pktdump_ex -s\\Device\\NPF_{C8736017-F3C3-4373-94AC-9A34 B7DAD998}\n\n");if(argc < 3){printf("\nNo adapter selected: printing the device list:\n");/* The user didn't provide a packet source: Retrieve the local device list */if(pcap_findalldevs(&alldevs, errbuf) == -1){fprintf(stderr,"Error inpcap_findalldevs_ex: %s\n", errbuf);exit(1);}/* Print the list */for(d=alldevs; d; d=d->next){printf("%d. %s\n ", ++i, d->name);if (d->description)printf(" (%s)\n", d->description);elseprintf(" (No description available)\n");}if (i==0){printf("\nNo interfaces found! Make sure WinPcap is installed.\n");return -1;}printf("Enter the interface number(1-%d):",i);scanf("%d", &inum);if (inum < 1 || inum > i){printf("\nInterface number out of range.\n");/* Free the device list */pcap_freealldevs(alldevs);return -1;}/* Jump to the selected adapter */for (d=alldevs, i=0; i< inum-1 ;d=d->next,i++);/* Open the adapter */if ((fp = pcap_open_live(d->name, // name of the device65536, // portion of the packet to capture.// 65536 grants that the whole packet will be captured on all the MACs.1, // promiscuous mode (nonzero means promiscuous)1000, // read timeouterrbuf // error buffer)) == NULL){fprintf(stderr,"\nError openingadapter\n");return -1;}}else{/* Do not check for the switch type ('-s') */if ((fp = pcap_open_live(argv[2], // name of the device65536, // portion of the packet to capture.// 65536 grants that the whole packet will be captured on all the MACs.1, // promiscuous mode (nonzero means promiscuous)1000, // read timeouterrbuf // error buffer)) == NULL){fprintf(stderr,"\nError openingadapter\n");return -1;}}/* Read the packets */while((res = pcap_next_ex( fp, &header,&pkt_data)) >= 0){if(res == 0)/* Timeout elapsed */continue;/* print pkt timestamp and pkt len */printf("%ld:%ld (%ld)\n", header->_sec, header->_usec, header->len);/* Print the packet */for (i=1; (i < header->caplen + 1 ) ; i++){printf("%.2x ", pkt_data[i-1]);if ( (i % LINE_LEN) == 0) printf("\n");}printf("\n\n");}if(res == -1){printf("Error reading the packets: %s\n", pcap_geterr(fp));return -1;}pcap_close(fp);return 0;步骤3:为编译器指定包含文件和库文件搜索目录。
洛达嗅探方案

洛达嗅探方案第1篇洛达嗅探方案一、背景随着信息技术的飞速发展,网络安全问题日益凸显,网络攻击手段不断翻新,对企业和个人的信息安全构成严重威胁。
为了确保我国关键信息基础设施的安全稳定运行,提高网络安全防护能力,洛达公司决定开展网络安全嗅探项目,旨在通过技术手段提前发现潜在的网络攻击行为,为我国网络安全保驾护航。
二、目标1. 实现对网络流量的实时监控,发现异常流量和潜在的网络攻击行为。
2. 提高网络安全防护能力,降低网络攻击对企业和个人造成的影响。
3. 结合我国相关法律法规,确保嗅探方案合法合规,保护用户隐私。
三、方案设计1. 技术选型(1)采用深度包检测技术(DPI),实现对网络流量的实时监控和分析;(2)采用大数据分析和机器学习技术,提高异常流量和潜在网络攻击的识别准确率;(3)采用合法合规的数据采集和处理方式,确保用户隐私和网络安全。
2. 系统架构(1)数据采集层:部署在网络出口处,对网络流量进行实时抓取;(2)数据处理层:对采集到的数据进行预处理、清洗和归一化,为后续分析提供基础数据;(3)数据分析层:利用DPI技术和大数据分析,识别异常流量和潜在网络攻击;(4)预警与响应层:对识别出的异常事件进行预警,并根据预案进行响应和处理;(5)管理与运维层:负责整个系统的管理与运维,确保系统稳定可靠运行。
3. 关键技术(1)DPI技术:对网络流量进行深度解析,识别出具体的应用层协议,为后续分析提供依据;(2)大数据分析:结合流量的时间、空间、协议类型等多维度特征,采用聚类、分类、关联规则等算法进行数据分析,发现异常流量和潜在网络攻击;(3)机器学习:通过训练模型,提高对异常流量和潜在网络攻击的识别准确率;(4)合法合规数据采集:遵循我国相关法律法规,确保数据采集的合法性。
四、实施方案1. 项目筹备(1)成立项目组,明确项目目标、范围和预期成果;(2)制定项目计划,明确各阶段任务和时间节点;(3)开展技术调研,选型合适的技术方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目 录一、什么是嗅探器二、嗅探器的作用三、网络嗅探器原理四、反嗅探技术五、网络嗅探器的设计六、总结:一、什么是嗅探器嗅探器,可以理解为一个安装在计算机上的窃听设备它可以用来窃听计算机在网络上所产生的众多的信息。
简单一点解释:一部电话的窃听装置, 可以用来窃听双方通话的内容,而计算机网络嗅探器则可以窃听计算机程序在网络上发送和接收到的数据。
可是,计算机直接所传送的数据,事实上是大量的二进制数据。
因此, 一个网络窃听程序必须也使用特定的网络协议来分解嗅探到的数据, 嗅探器也就必须能够识别出那个协议对应于这个数据片断,只有这样才能够进行正确的解码。
计算机的嗅探器比起电话窃听器,有他独特的优势: 很多的计算机网络采用的是“共享媒体"。
也就是说,你不必中断他的通讯,并且配置特别的线路,再安装嗅探器,你几乎可以在任何连接着的网络上直接窃听到你同一掩码范围内的计算机网络数据。
我们称这种窃听方式为“基于混杂模式的嗅探”(promiscuous mode) 。
尽管如此,这种“共享” 的技术发展的很快,慢慢转向“交换” 技术,这种技术会长期内会继续使用下去, 它可以实现有目的选择的收发数据。
二、嗅探器的作用嗅探器是网络的抓包工具,可以对网络中大量数据抓取,从而方便使用者对网络中用户的一些信息进行分析,所以,通常被黑客运用于网络攻击。
我们如果也能掌握网络嗅探器的原理和设计,可以将它运用与网络故障检测、网络状况的监视,还可以加强企业信息安全防护。
三、网络嗅探器原理嗅探器是如何工作的?如何窃听网络上的信息?网络的一个特点就是数据总是在流动中,从一处到另外一处,而互联网是由错综复杂的各种网络交汇而成的,也就是说:当你的数据从网络的一台电脑到另一台电脑的时候,通常会经过大量不同的网络设备,(我们用tracert命令就可以看到这种路径是如何进行的)。
如果传输过程中,有人看到了传输中的数据,那么问题就出现了——这就好比给人发了一封邮件,在半路上被人拆开偷看一样,这样说或许还不是很可怕,那要是传送的数据是企业的机密文件那,或是用户的信用卡帐号和密码呢……?嗅探侦听主要有两种途径,一种是将侦听工具软件放到网络连接的设备或者放到可以控制网络连接设备的电脑上,(比如网关服务器,路由器)——当然要实现这样的效果可能也需要通过其他黑客技术来实现:比如通过木马方式将嗅探器发给某个网络管理员,使其不自觉的为攻击者进行了安装。
另外一种是针对不安全的局域网(采用交换hub实现),放到个人电脑上就可以实现对整个局域网的侦听,这里的原理是这样的:共享hub获得一个子网内需要接收的数据时,并不是直接发送到指定主机,而是通过广播方式发送到每个电脑,对于处于接受者地位的电脑就会处理该数据,而其他非接受者的电脑就会过滤这些数据,这些操作与电脑操作者无关,是系统自动完成的,但是电脑操作者如果有意的话,他是可以将那些原本不属于他的数据打开!——这就是安全隐患! 以太网的数据传输是基于“共享”原理的:所有的同一本地网范围内的计算机共同接收到相同的数据包。
这意味着计算机直接的通讯都是透明可见的。
正是因为这样的原因,以太网卡都构造了硬件的“过滤器”这个过滤器将忽略掉一切和自己无关的网络信息。
事实上是忽略掉了与自身MAC地址不符合的信息。
嗅探程序正是利用了这个特点,它主动的关闭了这个嗅探器,也就是前面提到的设置网卡“混杂模式”。
因此,嗅探程序就能够接收到整个以太网内的网络数据了信息了。
什么是以太网的MAC地址(MAC:Media Access Control)?由于大量的计算机在以太网内“共享“数据流,所以必须有一个统一的办法用来区分传递给不同计算机的数据流的。
这种问题不会发生在拨号用户身上,因为计算机会假定一切数据都由你发动给modem然后通过电话线传送出去。
可是,当你发送数据到以太网上的时候,你必须弄清楚,哪台计算机是你发送数据的对象。
的确,现在有大量的双向通讯程序出现了,看上去,他们好像只会在两台机器内交换信息,可是你要明白,以太网的信息是共享的,其他用户,其实一样接收到了你发送的数据,只不过是被过滤器给忽略掉了。
MAC地址是由一组6个16进制数组成的,它存在于每一块以太网卡中。
后面的章节将告诉你如何查看自己计算机的MAC地址。
如果对网络结构不太熟悉,建议参考一下OSI 7-Layer Model,这将有助于你理解后面的东西以太网所使用的协议主要是TCP/IP,并且TCP/IP也用于其他的网络模型(比如拨号用户,他们并不是处于一个以太网环境中)。
举例一下,很多的小团体计算机用户都为实现文件和打印共享,安装了“NetBEUI” 因为它不是基于TCP/IP协议的,所以来自于网络的黑客一样无法得知他们的设备情况。
基于Raw协议,传输和接收都在以太网里起着支配作用。
你不能直接发送一个Raw数据给以太网,你必须先做一些事情,让以太网能够理解你的意思。
这有点类似于邮寄信件的方法,你不可能直接把一封信投递出去,你必须先装信封,写地址,贴邮票,网络上的传输也是这样的。
下面给出一个简单的图示,有助于你理解数据传送的原理: _________ /.........\ /..Internet.\ +-----+ +----+.............+-----+ UserA ----- 路由 ............. UserB +-----+ ^ +----+.............+-----+ \.........../ \---------/ +------+ 嗅探器 +------+ UserA IP 地址: 10.0.0.23 UserB IP 地址: 192.168.100.54 现在知道UserA要于UserB进行计算机通讯,UserA需要为10.0.0.23到192.168.100.54的通讯建立一个IP包 。
这个IP包在网络上传输,它必须能够穿透路由器。
因此,UserA必须首先提交这个包给路由器。
由每个路由器考查目地IP地址然后决定传送路径。
UserA 所知道的只是本地与路由的连接,和UserB的IP地址。
UserA并不清楚网络的结构情况和路由走向。
UserA必须告诉路由预备发送的数据包的情况,以太网数据传输结构大概是这样的: +--+--+--+--+--+--+ 目标 MAC +--+--+--+--+--+--+ 源 MAC +--+--+--+--+--+--+ 08 00 +--+--+-----------+ . . . IP 包 . . . +--+--+--+--+-----+ CRC校验 +--+--+--+--+ 理解一下这个结构,UserA的计算机建立了一个包假设它由100个字节的长度(我们假设一下,20 个字节是IP信息,20个字节是TCP信息,还有60个字节为传送的数据)。
现在把这个包发给以太网,放14个字节在目地MAC地址之前,源MAC地址,还要置一个0x0800的标记,他指示出了TCP/IP栈后的数据结构。
同时,也附加了4个字节用于做CRC校验(CRC校验用来检查传输数据的正确性)。
现在发送数据到网络。
所有在网内的计算机通过适配器都能够发现这个数据片,其中也包括路由适配器,嗅探器和其他一些机器。
通常,适配器都具有一块芯片用来做结构比较的,检查结构中的目地MAC地址和自己的MAC地址,如果不相同,则适配器会丢弃这个结构。
这个操作会由硬件来完成,所以,对于计算机内的程序来说,整个过程时毫无察觉的。
当路由器的以太网适配器发现这个结构后,它会读取网络信息,并且去掉前14个字节,跟踪4个字节。
查找0x8000标记,然后对这个结构进行处理(它将根据网络状况推测出下一个最快路由节点,从而最快传送数据到预定的目标地址)。
设想,只有路由机器能够检查这个结构,并且所有其他的机器都忽略这个 结构,则嗅探器无论如何也无法检测到这个结构的。
MAC地址的格式是什么?以太网卡的MAC地址是一组48比特的数字,这48比特分为两个部分组成,前面的24比特用于表示以太网卡的寄主,后面的24比特是一组序列号,是由寄主进行支派的。
这样可以担保没有任何两块网卡的MAC地址是相同的(当然可以通过特殊的方法实现)。
如果出现相同的地址,将发生问题,所有这一点是非常重要的。
这24比特被称之为OUI(Organizationally Unique Identifier)。
可是,OUI的真实长度只有22比特,还有两个比特用于其他:一个比特用来校验是否是广播或者多播地址,另一个比特用来分配本地执行地址(一些网络允许管理员针对具体情况再分配MAC地址)。
举个例子,你的MAC地址在网络中表示为 03 00 00 00 00 01 。
第一个字节所包含的值二进制表示方法为00000011。
可以看到,最后两个比特都被置为真值。
他指定了一个多播模式,向所有的计算机进行广播,使用了“NetBEUI”协议(一般的,在Windows计算机的网络中,文件共享传输等是不使用TCP/IP协议的)。
四、反嗅探技术 如何才能检测网内是否存在有嗅探程序?理论上,嗅探程序是不可能被检测出来的,因为嗅探程序是一种被动的接收程序,属于被动触发的,它只会收集数据包,而不发送出任何数据,尽管如此,嗅探程序有时候还是能够被检测出来的。
一个嗅探程序,不会发送任何数据,但是当它安装在一台正常的局域网内的计算机上的时候会产生一些数据流。
举个例子,它能发出一个请求,始DNS根据IP地址进行反相序列查找。
下面一种简单的检测方法: ping 方法 很多的嗅探器程序,如果你发送一个请求给哪台有嗅探程序的机器,它将作出应答 说明:1. 怀疑IP地址为10.0.0.1的机器装有嗅探程序,它的MAC地址确定为00-40-05-A4-79-32. 2. 确保机器是在这个局域网中间。
3. 现在修改MAC地址为00-40-05-A4-79-33.4. 现在用ping命令ping这个IP地址。
5. 没有任何人能够看到发送的数据包,因为每台计算机的MAC地址无法与这个数据包中的目地MAC不符,所以,这个包应该会被丢弃。
6. 如果看到了应答,说明这个MAC包没有被丢弃,也就是说,很有可能有嗅探器存在。
现在,这种方法已经得到了广泛的推崇和宣扬,新一代的黑客们也学会了在他们的代码中加入虚拟的MAC地址过滤器很多的计算机操作系统(比如Windows)都支持MAC过滤器(很多过虑器只检查MAC的第一个字节,这样一来,MAC地址FF-00-00-00-00-00和FF-FF-FF-FF-FF- FF就没有区别了。
(广播地址消息会被所有的计算机所接收)。
这种技术通常会用在交换模型的以太网中。