1
凌晨三点,张大胖再次被舍友吵醒。
「快快快,来下路,抓对面那个英雄」、「诶,你吃我兵线干什么!」
这已经是第7次了,张大胖揉揉眼,不满地说:“兄弟,这都三点了,睡吧!”
正玩在兴头的小黑说到:“这才打了几把啊,不着急,让我先上个分。”
“不是,这个点大家都在休息,你这么吵吵嚷嚷的,大家谁能睡觉?”
“组团不开麦有什么意思?再说了,睡这么早干啥?年轻人就是要多熬夜!”
“。。。。。。”
2
第二天的英语课上,带着黑眼圈的张大胖哈欠连连,困得根本听不进去。
旁边的好基友Bill关切地问道:“你怎么回事?最近是不是老失眠啊。”
张大胖把自己的遭遇说了一遍。Bill说:“这好办,我给你出个主意,治治他,断了他的网,让他打不了游戏。”
“怎么断?我们宿舍用的是Wifi,我要是跑去把路由器关了,正玩在兴头的小黑还不把我给揍一顿,他那块头...... ”
“我们搞计算机的,怎么能用这么简单粗暴的手段?教你一招,用ARP欺骗。”
张大胖的计算机网络课都忘光了,他只记得每个联网的电脑都得有两个地址:
(1) IP地址 在一个局域网内是唯一的,可以由软件设置
(2) MAC地址 理论上是全球唯一,和网卡绑定,不可改变。
看到张大胖的神情,Bill就明白了几分,他说:“IP地址是网络层的东西,要想在局域网内传输数据,必须得形成数据链路层的帧(Frame),这个帧中需要有发送方和接收方的MAC地址,比如小黑的电脑想给路由器发送数据,Frame长这个样子”
张大胖问道:“那在最开始的情况下,小黑的电脑想上网,首先得知道路由器MAC地址啊。”
Bill说道:“这就是ARP协议了, 小黑的电脑在局域网中‘大喊一声’, 谁的IP地址是192.168.1.1?把你的MAC地址发给我,网关路由器收到以后,就会回复,我是192.186.1.1 ,MAC地址是 xx:xx:xx:xx:01, 这样小黑的电脑就知道了,并且会记录下来,以后就直接用了。”
(码农翻身注:详情参见 漫画《她刚来,我就失宠了》)
张大胖说:“嗯,理解了,但是怎么用ARP欺骗呢?”
Bill说道:“这个ARP协议,有个缺点,就是发出ARP请求的电脑,并不会验证ARP响应的真实性,例如小黑的电脑想知道路由器的MAC, 发出了ARP请求,然后你张大胖的电脑也故意发出了一个ARP响应,小黑的电脑也会笑纳接收,然后更新本地的ARP表。”
“哈哈,明白了,我可以搞点破坏,发出ARP响应,让小黑电脑误以为我是路由器:”
Bill说道:“没错,这就是ARP欺骗。”
张大胖说:“厉害了,以后小黑发给路由器的数据包就全到我这里来了,这样小黑的电脑就上不了网了,肯定也玩不了游戏了,可是具体该怎么做呢?”
“可以自己开发程序,不过已经有现成的工具了,Linux下叫做arpspoof ,比如你想欺骗小黑的电脑,让他以为你的电脑是网关路由器,命令是这样:”
这个命令是在张大胖的电脑上发出的,欺骗小黑的电脑,告诉它:我是路由器(192.168.1.1)
张大胖说:“好,我晚上就去试试,我的电脑正好是Linux,可以用这个arpspoof。”
3
Bill 说:“不过小黑如果发现电脑无法上网,但是用手机一试,还能上网,他就知道有猫腻了。”
“有没有更好的办法?” 张大胖问。
“你可以当个中间人,搞一次服务器失联。具体来说就是再欺骗一次网关路由器,告诉它你是小黑。”
(注:为了充当中间人,还需要开启ip转发)
“完美 !如果发现数据包是游戏服务器发过来的,我就把它丢弃掉,这样小黑就会发现,可以上网,但是游戏服务器挂了, 还是睡觉吧。”
张大胖决定晚上就去小试牛刀。
4
第二天的英语课上,Bill见到了鼻青脸肿的张大胖,忙问怎么回事。
张大胖没声好气地说:“别提了,小黑的电脑玩不了游戏,到隔壁宿舍一转,就知道游戏服务器好好的,自己是被黑了,然后就把我从床上拉起来揍了一顿......”
注1:本文仅用于研究ARP欺骗攻击与防护技术,切勿用于非法用途,本文不承担任何法律责任。
注2:本文的原作者是tobe,我做了大幅的修改, tobe的公众号是:
相关文章