📄 272.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="192.htm">上一层</a>][<a href="273.htm">下一篇</a>]
<hr><p align="left"><small>发信人: scz (小四), 信区: Socket <br>
标 题: 以前看Netguy的文章时写的一篇 <br>
发信站: 华南网木棉站 (Mon Nov 8 11:11:31 1999), 转信 <br>
<br>
标题:free proxy搜索和验证 <br>
<br>
关于free proxy的搜索,在华南木棉socket编程版有Netguy给出的一个 <br>
freeproxyscan.c,看过就会明白,所谓的自由代理搜索完全是一种特殊 <br>
的端口扫描过程,只不过这次是针对特定一些端口组合,比如8080、8888 <br>
等等端口进行扫描,一旦发现有处在LISTENING状态的服务存在,就认为这 <br>
里存在proxy。那么这个结论科学不科学呢,显然不科学,代理服务可以指 <br>
定任意端口,而搜索程序为了大面积搜索IP,不可能对每个IP都进行很宽广 <br>
的端口扫描,只要对方不使用常规端口,扫描必定得不到理想的结果。所以 <br>
很多人搜索代理,是直接用端口扫描程序指定自己怀疑的端口进行扫描。 <br>
<br>
扫描本身没有任何技术难度,验证倒是有点。Netguy在98.1给出一个 <br>
freeproxyverify.c,基本正常,存在一些网络编程的技巧性问题,但不是 <br>
很严重,我简单修改后转载过来,顺便谈谈那几个技巧性问题。验证过程 <br>
就是向proxy server发送http命令,去取一个特定的.html文件,然后判断 <br>
返回结果与预期的是否一致,如果一致表明代理是可用且自由的,因为没有 <br>
口令验证过程。从中可以看出,验证过程是要掏银子的! <br>
<br>
Netguy为了提高效率,将这个验证过程丢到了后台,如果 <br>
是要做成daemon,企图与进程的控制终端脱离,需要二次fork才最终完成脱 <br>
离控制终端,否则当open tty的时候会主动要求得到一个控制终端。 <br>
第二个问题是设置socket为非阻塞模式,Netguy这样做的意图是因为他使用 <br>
了select判断写准备好,为了防止select报告写准备好但真正写的时候又发 <br>
生阻塞,必须设置该socket为非阻塞模式。 <br>
<br>
为什么select报告写准备好却仍然有可能发生写阻塞呢?因为select报告写 <br>
准备好的时候,是说内核中写缓冲区有空闲,可是若企图写的内容大于内核 <br>
空闲写缓冲,就会发生阻塞,解决办法就是设置非阻塞模式socket。 <br>
<br>
freeproxyscan.c就不转载了,因为没有更多意义,端口扫描。了解了 <br>
free proxy的搜索和验证过程,应该不再感到神秘,也应该不再困惑为什么 <br>
被扫描主机日志系统会记录到这种搜索,就相当于你到处telnet别人主机的 <br>
各个端口,不被记录才怪! <br>
<br>
<br>
-- <br>
<br>
也许有一天,他再从海上蓬蓬的雨点中升起, <br>
飞向西来,再形成一道江流,再冲倒两旁的石壁, <br>
再来寻夹岸的桃花。然而,我不敢说来生,也不敢信来生...... <br>
</small><hr>
<p align="center">[<a href="index.htm">回到开始</a>][<a href="192.htm">上一层</a>][<a href="273.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 + -