📄 434.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="317.htm">上一层</a>][<a href="435.htm">下一篇</a>]
<hr><p align="left"><small>发信人: evoli (山木), 信区: Security <br>
标 题: 关于Sniffer的检测(632)--质疑 <br>
发信站: 武汉白云黄鹤站 (2001年06月26日20:14:49 星期二), 转信 <br>
<br>
通过对Sniffer的检测的学习。我对632一文中提到的的检测方法有两点质疑。 <br>
1.利用fcntl( ),将套接口设置成为非阻塞状态后,在调用recvfrom( ) <br>
时应该用一个循环来进行检测是否有数据到来,否则不可能收到数据。 <br>
并且我认为最好使用死循环来等待数据。即在源程序中加入 <br>
for( ; ; ) <br>
{ <br>
recvfrom( ); <br>
.... <br>
} <br>
因为网上始终存在ARP请求包和应答包,因此不必担心本程序会因接不到数据 <br>
而死机。(本程序能够接受发给自己的正常的arp 请求包) <br>
或者将fcntl( )的段语句去掉不要,因为建立一个套接口时,系统默认 是阻 <br>
塞状态——套接口接收数据反才返回,不接受数据就在recvfrom( )等待。 <br>
此时用简单的一个recvfrom( )就可以了。 <br>
2.在对一个IP进行检测的时候,只判断一个接受到的arp包不是所期望 <br>
的arp应答包就转向下一个IP的检测也是不对的。 <br>
因为存在这样的可能。当一个发给自己的正常的arp请求包先于期望的arp <br>
应答包的到来。则该检测程序绘出错。因为当程序先判断arp请求包不是 <br>
期望的arp应答包,就转向下一个IP的检测,而下一次判断该arp应答包时 <br>
IP值已经变化,所以会出错。 <br>
这是我的一点看法,不足之处网指正。 <br>
发信人: scz (小四), 信区: Security <br>
标 题: Re: 关于Sniffer的检测(632)--质疑 <br>
发信站: 武汉白云黄鹤站 (2001年06月26日21:54:12 星期二), 转信 <br>
<br>
第二个问题,你看差了吧 <br>
<br>
<br>
if ( ntohs(arp_pkt.arp_op) == ARPREPLY <br>
&& ntohl (ip) == myIP <br>
&& (dip - ntohl(sip) >= 0) <br>
&& (dip - ntohl(sip) <= 2) ) <br>
<br>
这里是判断了的。 <br>
发信人: scz (小四), 信区: Security <br>
标 题: Re: 关于Sniffer的检测(632)--质疑 <br>
发信站: 武汉白云黄鹤站 (2001年06月26日21:56:13 星期二), 转信 <br>
设置成非阻塞是想加快对一个大子网的快速扫描。 <br>
可能判断不够准确,但是速度得到加快。 <br>
如果阻塞模式,一个255的C类网就别想扫描完了。 <br>
发信人: evoli (山木), 信区: Security <br>
标 题: Re: 关于Sniffer的检测(632)--质疑 <br>
发信站: 武汉白云黄鹤站 (2001年06月27日08:25:12 星期三), 转信 <br>
【 在 scz (小四) 的大作中提到: 】 <br>
: 第二个问题,你看差了吧 <br>
: if ( ntohs(arp_pkt.arp_op) == ARPREPLY <br>
: && ntohl (ip) == myIP <br>
**********************************************************: <br>
请问表示什么意思“ && (dip - ntohl(sip) >= 0) <br>
: && (dip - ntohl(sip) <= 2) )” <br>
这里的判断也只是对同一个IP的检测时,对收到的arp包进行判断,如果不是期望的arp <br>
应答包,就转而进行下一个IP的检测。如果期望的arp应答包,晚于发给自己的arp请求 <br>
包则会出错。我认为对同一个IP的检测,须接受三个arp包,经判断不是期望的arp应答 <br>
包才转而进行下一个IP的检测。] <br>
************************************************************************ <br>
: 这里是判断了的。 <br>
发信人: evoli (山木), 信区: Security <br>
标 题: Re: 关于Sniffer的检测(632)--质疑 <br>
发信站: 武汉白云黄鹤站 (2001年06月27日08:43:23 星期三), 转信 <br>
【 在 scz (小四) 的大作中提到: 】 <br>
: 设置成非阻塞是想加快对一个大子网的快速扫描。 <br>
: 可能判断不够准确,但是速度得到加快。 <br>
: 如果阻塞模式,一个255的C类网就别想扫描完了。 <br>
************************************************** <br>
1。由于程序执行极快,如果不用时间延迟,程序执行完了了也不能收到一个arp包。 <br>
我用632的程序作过实验,如果单步跟踪够收到arp包,但是程序连续执行就不能收到 <br>
包。其原因就是程序连续执行所花的的时间远小于平均一个arp包到来所花的的时间: <br>
2。 该程序中利用子网掩、广播地址来确保是检测本网段的IP,而不一定是对255个IP都 <br>
进行检,即便是利用阻塞状态来对255个IP的检测,时间花销大概也只有60分钟。 <br>
********************************************************************** <br>
发信人: scz (小四), 信区: Security <br>
标 题: Re: 关于Sniffer的检测(632)--质疑 <br>
发信站: 武汉白云黄鹤站 (2001年06月27日08:58:24 星期三), 转信 <br>
这个你可以自己改一个你认为满意的程序上来,让别人帮你测试了效果 <br>
再来讨论。一般来说,现在大家都比较讨厌空谈了,呵呵,希望早点 <br>
看到你自己认为满意的程序。 <br>
发信人: scz (小四), 信区: Security <br>
标 题: Re: 关于Sniffer的检测(632)--质疑 <br>
发信站: 武汉白云黄鹤站 (2001年06月27日09:00:38 星期三), 转信 <br>
无论如何,这里都不会出现你说的情况吧。我实在不明白你 <br>
对这个地方的怀疑。 <br>
1) arp reply <br>
2) 来自所查询的IP <br>
3) 是给自己的 <br>
我不明白怎么就出问题了? <br>
要不你用C语言描述的你想法吧。我现在看自然语言描述,感觉特别的累。 <br>
</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="317.htm">上一层</a>][<a href="435.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -