about arp,help!

zasml 2004-09-02 12:54:42
我们知道机器在同一个局域网中通讯是靠的MAC地址,虽然靠MAC,但是在数据帧中依然封装有IP头,于是我有一个疑惑了,就是关于ARP欺骗的:
(主机C和A、B在同一个局域网中网关为222.20.25.254)
主机C的IP为222.20.25.13
比如主机AARP缓存是:
222.20.25.13 00-12-3C-E4-44-10
222.20.25.254 00-12-4E-E1-12-61
然后主机B发送ARP请求把主机A的ARP缓存改为

222.20.25.13 11-52-5C-E1-24-00
222.20.25.254 00-12-4E-E1-12-61
其中11-52-5C-E1-24-00为主机B的MAC地址,于是主机A发给222.20.25.13的消息前发给主机B了。
但是在发给主机B的数据帧中依然封装有IP头,即使MAC地址为B的MAC地址,但是IP还是主机C的,为什么主机B还是收得到这个盗窃的消息呀,是不是在局域网中通讯IP不起作用????还是其他的原因??
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
我今天做了一个实验就是把A(我的机器)上的ARP缓存中C的MAC改为B的MAC
然后在B上分别运行了一个UDP和TCP服务器,在我的主机(A)上运行客户端,然后给C发消息
按ARP欺骗的原理应该是B收到我发给C的消息,但是B收不到(A\B\C在同一局域网上)
这是为何呀???
想不明白!

...全文
51 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zasml 2004-09-02
  • 打赏
  • 举报
回复
thanks 我明白了
dancingbit 2004-09-02
  • 打赏
  • 举报
回复
1.对于IP协议来说,如果判断是在同一局域网中,即无须通过路由器,可以直接通信,此时使用ARP来解析得到对方的MAC地址,并封装于链路层帧中。对于对方的网卡来说,它并不理解上层的协议地址(其实是不关心),只是在收到帧之后,剥离出包交给网络层。IP层检查IP地址,如果有应用程序接收来自所有地址的数据包,并且使用了对应的端口号,那么IP层就将数据包交给此应用程序而不管其他。
2.你如果是在A机器上更改ARP缓存,只是在机器A上设置了一个静态表项,但机器B自身并不认为此MAC地址是属于它的,此时应该还在机器B上将其MAC地址设为该值(win2k中可以更改,98中需要修改注册表),否则机器B不会接收对应的帧,另外,在机器B上运行的程序应该是接收来自所有网络接口的数据,否则仍会被IP层丢弃。
凤凰 2004-09-02
  • 打赏
  • 举报
回复
分析:

00-12-3C-E4-44-10 主机C
00-12-4E-E1-12-61 主机A
11-52-5C-E1-24-00 主机B

原来222.20.25.13 00-12-3C-E4-44-10
更改222.20.25.13 11-52-5C-E1-24-00
结果: 发送给00-12-3c-e4-44-10(主机C)就被解析给了发送IP" 不知道",而发送给11-52-5C-E1-24-00就被解析给了发送给IP 222.20.25.13 ,而你根据IP来分辨发送给谁是错误的

6,185

社区成员

发帖
与我相关
我的任务
社区描述
windows网络管理与配置
社区管理员
  • 网络管理与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧