⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 340.htm

📁 unix高级编程原吗
💻 HTM
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://apue.dhs.org"><font face="黑体"><big><big>apue</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center">               ● UNIX网络编程                       (BM: clown)                </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p   align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="index.htm">回到开始</a>][<a href="308.htm">上一层</a>][<a href="341.htm">下一篇</a>]
<hr><p align="left"><small>发信人: cloudsky (晓舟·轩辕明月), 信区: Security <br>

标  题: 再论ARP冲突 <br>

发信站: 武汉白云黄鹤站 (Wed Dec 29 13:02:27 1999), 站内信件 <br>

  <br>

每台主机进入LAN时会向整个子网发送免费ARP通知报文,即该request包是 <br>

利用广播方式请求解析自己的IP地址,但源和目标IP已经就位了。 <br>

免费ARP(源IP和目标IP一致)请求意味着一个包就影响了整个子网, <br>

如果一个错误的免费ARP请求出现,整个子网都被搅乱了。 <br>

  <br>

即使主机不发送免费ARP报文,也会因为后续的request请求导致自己的IP-MAC <br>

对进入LAN上所有主机的ARP Cache中,所以冲突与否与免费ARP包没有必然 <br>

联系。这个结论可以这样理解,一台Linux主机与pwin98争夺IP地址,Linux <br>

主机将争夺成功,pwin98却一直在报告IP冲突,显然后面所有的IP冲突报告 <br>

都与免费ARP包没有关系了。 <br>

  <br>

in_arpinput() 函数是4.XBSD-Lite2中的经典实现 <br>

  <br>

 1. 如果针对本机某个IP地址的请求到达,响应被送出。ARP入口 <br>

    被建立(如果相应入口不存在)。这个优化避免过多的ARP报文交换。 <br>

 2. 如果ARP响应到达,相应的ARP入口建立完成,异己主机的MAC地址 <br>

    存储在sockaddr_dl结构中,队列中目标是该异己主机的报文现在 <br>

    可以发送了。 <br>

 3. 假如异己主机发送了一个ARP请求包或者响应包,包中源IP地址等 <br>



    于自己的IP地址,那么两台之中必有一台错误配置了IP地址。Net/3 <br>

    侦测到这个错误并向管理员报告。 <br>

 4. 主机接收到来自异己主机的ARP包,该异己主机的ARP入口已经存在, <br>

    若包中异己主机的MAC地址已经改变,则相应的ARP入口中的MAC地址 <br>

    得到更新。 <br>

 5. 主机可以配置成proxy ARP server。这意味着它代替目标主机响应 <br>

    ARP请求。卷I的4.6节讨论了proxy ARP。用arp命令可以配置一台主 <br>

    机成为proxy ARP server。 <br>

  <br>

  <br>

从3可以看到什么时候进行了冲突监测,从4可以看到什么时候发生了ARP Cache <br>

动态修改。 <br>

  <br>

./linuxkiller -o 0x80000200 -c 0x0806 -b140002 -q eth0 <br>

捕捉一个ARP REPLY报文的完整二进制显示 <br>

  <br>

byteArray [ 60 bytes ] ----> <br>

00000000  00 00 21 CE 28 A4 00 00-21 D1 22 F1 08 06 00 01    ..!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -