优秀课设——发送ARP数据包

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

计算机网络

课程设计报告

长沙理工大学

题目:发送ARP数据包

姓名:

学号:

同组姓名:

专业班级:

指导教师:

评阅意见:

评定成绩:指导老师签名:

年月日

目录

一、课程设计目的: (2)

二、课程设计要求: (2)

三、课程设计分析 (3)

1.课程设计中的重点及难点 (3)

2.参考算法.................... 错误!未定义书签。

3.核心代码.................... 错误!未定义书签。

四、源程序及运行截图 (6)

五、心得体会 (9)

六、参考文献 (10)

一、课程设计目的:

本课程设计的目的是对网络上的ARP数据包进行解析,从而熟悉ARP数据包的结构,对ARP协议有更好的理解和认识。

二、课程设计要求:

用网络流量监测工具让ARP欺骗原形毕露CNET中国··转载作者: 赛迪网来源: 赛迪网责编:kachesiji 时间:2007-06-03 标签:网络流量笔者的工作单位是一所学校,最近学校的一栋教学楼内的网络突然出现时断时好的现象,这可是严重影响了学校的正常教学和工作,情况危急,需要马上解决!信息中心立即着手进行调查,据老师们反映上网有时候网页打开速度非常缓慢,有时丝毫没有动静,直接显示无法打开网页。不过,在非上班时间,如中午和晚上等休息时间,网络一切正常。根据这一情况,网络硬件故障的可能性微乎其微,经过检查没有发现异常情况,排除了物理上的错误。看来是软件上的问题,脑海中的第一反应就是目前比较流行的ARP攻击。ARP协议的中文名为地址解析协议,用于将网络中的IP地址解析为硬件地址(MAC地址),以保证通信的顺利进行。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC 地址存储在ARP缓存中。所以在网络中,如果有人发送一个自己伪造的ARP应答,网络可能就会出现问题,这就是ARP欺骗,其常见的特征就是主机频繁掉线。我们的网络症状与之非常相似,但是ARP攻击需要找到它的源头,一般的方法很难查找,需要在交换机上进行抓包分析,于是找到了Iris Network Traffic Analyzer(以下简称Iris)。这是一款网络流量分析监测工3.当程序接收到键盘输入Ctrl+C时退出。

三、课程设计分析

1.课程设计中的重点及难点

本来不打算写这接下的一系列讨论欺骗的文章(计划中有arp欺骗、icmp欺骗、路由rip欺骗、ip地址欺骗等),这主要是自己有些担心有些人会给网管增加日常工作量,但是想想还是写的好,因为通常在你猛打完补丁后,你可能觉得你的系统安全了,但是,实际上,打补丁只是安全措施里的一个很基本的步骤而已,通常一个hacker要进入你的系统,他所要做的并不是你打补丁就可以避免的,象这些欺骗都要求你必须掌握相当的网络底层知识和合理安排物理布线才可阻止得了的。特别是多种手法混用的时候,特别要说明的是:有些人往往以为会使用某些工具入侵就觉得自己是个hacker,呵呵。。

其实,我认为这只是入门而已(有些是连门都找不到),通过本文,我想让人们知道,一个hacker在真正入侵系统时,他并不是依靠别人写的什么软件的。更多是靠对系统和网络的深入了解来达到这个目的。

我想我会尽可能将我知道的写出来,同时也将尽可能把防止欺骗的解决办法写出来,当然,这只是我知道的而已,如果有失误的地方,欢迎指正。呵呵。。

首先还是得说一下什么是ARP,如果你在UNIXShell下输入arp-a(9x下也是),你的输出看起来应该是这样的:

Interface:xxx.xxx.xxx.xxx

InternetAddressPhysicalAddressType

xxx.xxx.xxx.xxx00-00-93-64-48-d2dynamic

xxx.xxx.xxx.xxx00-00-b4-52-43-10dynamic

...................

这里第一列显示的是ip地址,第二列显示的是和ip地址对应的网络接口卡的硬件地址(MAC),第三列是该ip和mac的对应关系类型。

可见,arp是一种将ip转化成以ip对应的网卡的物理地址的一种协议,或者说ARP 协议是一种将ip地址转化成MAC地址的一种协议,它靠维持在内存中保存的一张表来使ip得以在网络上被目标机器应答。

为什么要将ip转化成mac呢?呵呵。。解释下去太多了,简单的说,这是因为在tcp 网络环境下,一个ip包走到哪里,要怎么走是靠路由表定义,但是,当ip 包到达该网络后,哪台机器响应这个ip包却是靠该ip包中所包含的mac地址来识别,也就是说,

只有mac地址和该ip包中的mac地址相同的机器才会应答这个ip包(好象很多余,呵呵。。),因为在网络中,每一台主机都会有发送ip包的时候,所以,在每台主机的内存中,都有一个arp-->mac的转换表。通常是动态的转换表(注意在路由中,该arp表可

以被设置成静态)。也就是说,该对应表会被主机在需要的时候刷新。这捎谝姨 谧油 闵系拇 涫强?8位的mac地址而决定的。

通常主机在发送一个ip包之前,它要到该转换表中寻找和ip包对应的mac地址,如果没有找到,该主机就发送一个ARP广播包,看起来象这样子:

“我是主机xxx.xxx.xxx.xxx,mac是xxxxxxxxxxx,ip为xxx.xxx.xxx.xx1的主机请报上你的mac来”

ip为xxx.xxx.xxx.xx1的主机响应这个广播,应答ARP广播为:

“我是xxx.xxx.xxx.xx1,我的mac为xxxxxxxxxx2”

于是,主机刷新自己的ARP缓存。然后发出该ip包。

了解这些常识后,现在就可以谈在网络中如何实现ARP欺骗了,可以看看这样

一个例子:

一个入侵者想非法进入某台主机,他知道这台主机的火墙只对192.0.0.3(假设)这个ip开放23口(telnet),而他必须要使用telnet来进入这台主机,所以他要这么做:

1、他先研究192.0.0.3这台主机,发现这台95的机器使用一个oob就可以让他死掉。

2、于是,他送一个洪水包给192.0.0.3的139口,于是,该机器应包而死。

3、这时,主机发到192.0.0.3的ip包将无法被机器应答,系统开始更新自己的arp 对应表。将192.0.0.3的项目搽去。

4、这段时间里,入侵者把自己的ip改成192.0.0.3

5、他发一个ping(icmp0)给主机,要求主机更新主机的arp转换表。

6、主机找到该ip,然后在arp表中加如新的ip--$#@62;mac对应关系。

7、火墙失效了,入侵的ip变成合法的mac地址,可以telnet了。

(好象很罗嗦,呵呵。。不过这是很典型的例子)

现在,假如该主机不只提供telnet,它还提供r命令(rsh,rcopy,rlogin等)那么,所有的安全约定将无效,入侵者可以放心的使用这台主机的资源而不用担心被记录什么。

有人也许会说,这其实就是冒用ip嘛。。呵呵。。不错,是冒用了ip,但决不是ip欺骗,ip欺骗的原理比这要复杂的多,实现的机理也完全不一样。

上面就是一个ARP的欺骗过程,这是在同网段发生的情况,但是,提醒注意的是,

相关文档
最新文档