首先介绍一下Tor,Tor其实是The Onion Routing的缩写,即洋葱路由,目前已经发展到第三代了。
它的最初的设计目的是防止要访问的目的网站追踪连接的来源,从而保护用户的隐私,提高安全性。通俗一点说,就是为了隐匿你的身份。也就是说,你随便在什么网站发布了任何信息,理论上都是查不到你的,即使你的包在任何中间传输节点上被截获也没关系。
另外,在国内还有一个非常现实的作用,就是可以翻墙。
为什么叫洋葱代理呢?这个名字我觉得起的还是非常形象的。
在Tor网络中,任何连接从它的起点,到最终的目的地,中间都会经过3个节点。这些节点之间都是点对点加密的。从起点到第一个中继节点(Relay)间,经过三次加密。到达第一个节点后解密一次,获得下一跳中继节点的地址再传输,这样从第一个中继节点到第二个中继节点间就有两次加密,并且第一个中继节点只知道第二个中继节点的地址,而不知道第三个中继节点的地址。当信息到达第二个中继节点后,再解一次密,再传给第三个中继节点。而到第三个中继节点后,再解一次密,再发送给目的地址。这就好比剥洋葱,每到一个节点剥一层(为什么不是剥包菜?)。
这样做的好处是,任何一个传递节点都不能够完全知道数据的起点和终点。对于目的网站来说,它只能得到最后一个传递节点的IP地址。通过Tor,就可以完全影藏发送数据的人(据说美剧《纸牌屋》里面的黑客用的就是这个)。
这里就有一个问题,细心的读者一定发现了,那就是第三个节点已经可以得到最终完全没有加密的原始数据了。这样其实非常不安全,不怀好意的人就可以在最终传递节点上安装抓包工具,抓到应用层的信息。所以,如果你要交流的是非常敏感的信息,请使用安全的端到端协议。例如,如果你要使用用户名和密码登陆一个网站,请确保使用HTTPS连接,否则会存在风险。
这里还有一个问题,Tor的客户端是如何知道Tor网络中的中继节点有哪些的呢?这里有一个概念,叫目录服务器(Directory Server)。目前,官方的目录服务器一共有9台,它们之间会定期同步数据。如果想成为中继节点,Tor客户端必须要向其中一台目录服务器注册自己。而且Tor的客户端是不用直接连接到官方的目录服务器来获得所有的中继节点信息的,而是通过所谓的目录镜像(Directory Mirror)。这些目录镜像会定期的从官方的目录服务器上拷贝一份最新的数据。这样做的好处是分担了目录服务器的负担,事实上,大部分中继节点都被配置成了目录镜像。
有了前面介绍的中继节点和目录服务器的概念,这里大致介绍一下Tor的连接过程。
1)首先,Tor的客户端会先从目录服务器或者目录镜像上获得当前Tor网络中所有中继节点的信息;
2)然后,该客户端会随机的在所有中继节点列表中选择3个,并建立连接;
3)如果Tor客户端想访问另外一个地址,则会再随机选取3个中继节点,建立另外一条链接,而不会用前面建立的那条虚电路。
如果所有的中继节点都是通过从目录服务器或者目录镜像得到的,那想封杀Tor就很简单了,直接读取目录服务器,把所有中继节点IP地址都拿到,直接加到黑名单中就行了。
事实上,很多地方的政府也是这么做的。那有没有办法绕过这种限制呢?Tor为此还专门引入了所谓的网桥(Bridge)节点。
什么是网桥节点呢?其实它也是中继节点(所以网桥节点有时也较网桥中继节点,Bridge Relay),只不过和普通中继节点不同的是,它不会把自己注册到官方的目录服务器中,这样就不能方便的查到了,也就没法阻挡了。为什么称作网桥节点,因为它是用来在监管网络和自由网络之间的一个桥接。但这也是面双刃剑,想挡的人看不到了,想用的人也没法方便的拿到。
上面讲了那么多原理和概念,下面我们讲讲如何配置一个Tor客户端,有了上面这些概念做铺垫之后,讲起来会更加的容易。
1)首先下载并安装Tor的客户端
网址是:https://www.torproject.org/download/download.html.en,进去之后可以看到很多版本可以选择,可以随便选择下载“Vidalia Bridge Bundle”或者是“Vidalia Relay Bundle”。
下载完成后,直接点击安装就好了,这里不再赘述。
2)用Vidalia配置Tor客户端
安装好后,打开Vidalia,
然后选择“Settings”,进入设置界面,选择“Sharing”,选择“Run as a client only”,然后点“OK”。
理论上过一段时间之后,Tor客户端就会连接上Tor网络,但目前Tor只提供Socks代理,如果想要用HTTP/HTTPS代理,还需要再加一个Socks代理转HTTP/HTTPS代理的软件,这里介绍使用Polipo。
3)安装并配置Polipo
Polipo是一个非常轻量级的Web代理服务器,其主页在这:http://www.pps.univ-paris-diderot.fr/~jch/software/polipo/,可以从上面下载到Windows版本。
下载下来是一个zip包,直接解压出来就可以用了。
解压出来后除了polipo的可执行文件之外,还有配置文件的示例,可以直接在上面更改,也可以拷贝一份出来后再更改。
其中有几项是必须要更改的。找到“socksParentProxy”,去掉前面的“#”,改成”localhost:9050″,9050是Tor客户端默认开的Socks代理端口。
再找到“diskCacheRoot”,去掉前面的“#”,内容留空,表示不用磁盘缓存功能。
好了,就修改这两项就可以使用了,非常简单吧。打开Windows的字符控制台cmd,切换的polipo的解压路径,敲入命令
可以看到,监听端口是8123,这就是HTTP/HTTPS代理的端口,直接在浏览器里面设置代理服务器为localhost或者是127.0.0.1,端口是8123就可以用了。
到此,基本配置就结束了。但是,有时候Tor客户端会连接不上Tor网络,通常这是由下面原因造成的:
1)必须要使用代理服务器才能上外网
这时可以给Tor客户端添加代理服务器。在”Settings”窗口内,选择“Network”,在下面的选择项内选“I use a proxy to access the Internet”。
然后填上代理服务器地址,端口,验证所用的用户名和密码,最后选择代理的种类,点“OK”就好了。
2)很不幸,你所在的网络已受监控,Tor网络中的目录服务器和中继节点都被封杀了(GFW)
这时就要使用前面说的网桥节点了。要想设置网桥,首先得获得网桥节点的信息。
怎么获得呢?有两个办法,一是找你的朋友,他所在的网络没被监控是自由的,让他帮忙设置他自己的Tor客户端为网桥模式,然后把他自己的网桥信息告诉你;二是通过发送邮件到[email protected],邮件内容包含“get bridges”,最好使用gmail发送。过一阵子后会收到回复邮件,里面会有网桥节点信息的列表。
下面就是把这些网桥添加到Tor客户端里,还是在“Settings”下的“Network”里。
直接一个一个拷贝黏贴,然后添加就好了。
好了,一般通过上面两个方法基本上都可以连接上Tor网络了,当然你的设备首先得能上网。
这里还有一个问题值得提一下,这就是所谓的“陷阱节点”。什么是陷阱节点呢,就是某些政府部门故意假设的一下中继节点,故意不让你连出去,或者更可怕的是在上面抓取所有出去的包。如果很不幸,你选的出口节点(也就是第三个中继节点)正好是其中某一个“陷阱节点”,那你所有发送的数据都在监控之中,这是很可怕的。有解决的办法吗?Tor想到了这点,其配置项中允许将来自某一个国家的节点排除在选择之外。
如果想把来自香港的所有中继节点排除出去,可以在配置文件中加一项:
ExcludeNodes {hk} 这样,Tor客户端会主动规避来自香港的中继节点,但如果Tor在排除之后的中继节点中建立不起来虚拟线路的时候,还是会尝试使用那些排除在外的中继节点。所以,如果要再狠一点,哪怕不能连接也完全不考虑这些排除的节点,则可以再在配置文件中加这一项: StrictNodes 1 除此之外,还可以精确指定出口节点所在的国家:
调暗点,眼睛看起来不会累的亮度的,不是每台电脑的亮度都是一模一样的,主要是看自己的 眼睛舒服 背景色设置成浅绿色,最适合阅读。特别是晚上对着电脑屏幕的时候。经试验,这种浅绿色的颜色代码是 色调(Hue)设为85, 饱和度(Sat)设为95 亮度(Lum)设为205 电脑屏幕不要用白色,因为白色对眼睛的刺激是最大的。整天对着电脑干活的,也应该注意一下。 其实,只要稍微设置一下,就能让你电脑上的窗口从白花花的颜色变成淡淡的绿色。 设置方法如下: >>在桌面点右键,依次选属性(properties)—外观(appearance) >>点右下角的高级(advanced),然后在项目(items)的下拉菜单里选窗口(windows)>>>>点右侧的下拉菜单颜色(color),点下方的其它(others) >>把色调(Hue)设为85,饱和度(Sat)设为90-123,亮度(Lum)设为205.(出厂时一般设为160-0-240) >>单击添加到自定义颜色(Add to custom colors),按确定(OK)……一直确定(OK)下去。 把窗口设成绿色之后,再来把IE的网页背景也变成养眼的绿色吧: 打开IE,点击工具(TOOLS)—Internet选项(INTERNET OPTIONS)—辅助功能(Assessibility),勾选第一个“不使用网页中指定的颜色”(ignore colors specified on web pages),然后点“确定” (OK)——确定……退出。 OK啦,现在你就会发现你的屏幕已经变成淡淡的绿色了。这个颜色会比白色柔和许多,刚开始可能你还有些不适应,但确实对我们的眼睛有好处,大家不妨试一下。 还有~~~ 端正姿势保护眼睛,它对于缓解眼睛疲劳起着十分重要的作用。
Windows7 网络自动断开的困境
Windows7如果说给我最大的感受,就是不好用,太不好用了。自从电脑升级到Windows7,我就得了网络恐惧症。
整夜下载是不行了,笔记本休眠,网络就断。什么电源管理,网卡电源都设置了,还是不行。
什么狗屁网络和共享中心,不知道怎么删除一个重复项,合并也是不知道Windows说的什么意思。
开始没装驱动,连屏幕明暗都无法调节了。我气的以为笔记本坏了。后来找联想的驱动,才好了。费了一个晚上的时间。
显示和隐藏图标里,一个已经卸载的迅雷图标仍然存在,我把注册表都搜遍了,凡是有迅雷和Thunder,xmp.exe字样的
项全都删除了,还是存在那里。今天又出现无法关机的错误,被我强制关掉电源了。
迅雷这东西,卸载之后,注册表里全是它的垃圾,能不能做东西地道一些啊。我是有洁癖的。
今天突然发现显示和隐藏图标里迅雷不见了。
装好之后反复提醒我要升级到IE8,你当我傻啊,现在IE9都出来了。于是安装了IE9,没办法,除了网银需要,平时
上网从来不用IE。这东西怎么看怎么别扭。
为了下载,最后把Ubuntu11装上了。这个是真好用,不需要操心任何事情。一切都帮你做好。
1)用Windows7自带磁盘管理工具shrink一块磁盘出来,不要格式化,不要做任何动作。
2)下载Ubuntu11,根据你的CPU选择32/64位的Desktop版。准备一个USB盘,4个G足够了。
3)按Ubuntu网站的介绍方式把下载的iso灌到USB盘里。
4)设置bios启动次序为usb优先。
5)关机,插u盘,开机,选择安装。
Ubuntu11可以和windows共存,而且从ubuntu里可以访问windows的文件系统。太方便了。以后windows
坏了也不用担心了,用Ubuntu11就可以恢复里面的文件。
协议连接建立时3次握手的过程4次结束连接
TCP协议连接建立时3次握手的过程。 简述TCP协议连接建立时3次握手的过程。
根据TCP头部,说明下列3个包在连接建立过程中的次序.
0020 00 50 83 aa 46 49 3e dd 33 96 37 a3 a0 12 …P..FI>.3.7…
0030 16 a0 c4 c0 00 00 02 04 05 b4 04 02 08 0a d7 9b …………….
0040 62 b7 00 56 4a 2a 01 03 03 02 b..VJ*…. (1)
0020 83 aa 00 50 33 96 37 a2 00 00 00 00 a0 02 …..P3.7…….
0030 16 d0 84 1d 00 00 02 04 05 b4 04 02 08 0a 00 56 ……………V
又让64位给捉弄了一回
昨天把一个 vc6 下的程序移植到 vc2005 里,用了一上午时间总算是把环境配置,语法不兼容的问题都抹平了。编译通过,调试运行基本正常。然而,直接双击运行,就崩溃掉了。。
通过调用堆栈知道问题出在网络代码方面,最后确定到函数 GetAdaptersInfo 上。
DWORD GetAdaptersInfo(
PIP_ADAPTER_INFO pAdapterInfo,
PULONG pOutBufLen
);
typedef struct _IP_ADAPTER_INFO {
struct _IP_ADAPTER_INFO* Next;
DWORD ComboIndex;
char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
UINT AddressLength;
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
DWORD Index;
UINT Type;
UINT DhcpEnabled;
PIP_ADDR_STRING CurrentIpAddress;
IP_ADDR_STRING IpAddressList;
IP_ADDR_STRING GatewayList;
IP_ADDR_STRING DhcpServer;
BOOL HaveWins;
IP_ADDR_STRING PrimaryWinsServer;
IP_ADDR_STRING SecondaryWinsServer;
time_t LeaseObtained;
time_t LeaseExpires;
} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
在 vc6 下 time_t 是 32 位的,而 vc2005 里默认是 64 位的。
ServerMask 这个程序通过移走你开的标志使 Windows 网服务器的特性变暗 IIS。移走或者修改不必要的答复数据。软件提供控制什么服务器标题数据,如果任何在 HTTP 答复里是可见的。覆以面具许可文件的会议小甜饼会议小甜饼的任何类型的用户化。这个程序能够模仿阿帕切网服务器
Download:http://www.onlinedown.net/soft/8833.htm
robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容。
当一个搜索机器人(有的叫搜索蜘蛛)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。
robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。
robots.txt写法
我们来看一个robots.txt范例:http://www.w3.org/robots.txt
访问以上具体地址,我们可以看到robots.txt的具体内容如下:
#
# robots.txt for http://www.w3.org/
#
# $Id: robots.txt,v 1.48 2007/10/16 05:31:15 gerald Exp $
#
# For use by search.w3.org
User-agent: W3C-gsa
Disallow: /Out-Of-Date
User-agent: W3T_SE
Disallow: /Out-Of-Date
User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT; MS Search 4.0 Robot)
Disallow: /
# W3C Link checker
User-agent: W3C-checklink
Disallow:
# exclude some access-controlled areas
User-agent: *
Disallow: /2004/ontaria/basic
Disallow: /Team
Disallow: /Project
Disallow: /Web
摘要 为什么会出现所谓的msn/QQ sniffer[1][2],为什么一台机器能捕获其它机器的信息。 这些现象让大多数不懂网络的人感到困惑,也感到害怕,因为个人隐私可能 被某些不良人员(包括很多只是好奇的人)所利用,更严重的是一些信息可以 被利用来作出更大的危害,那么我们来了解下这其中的原理,以及个人和网络 管理人员如何察觉和避免这种窥探。 Sniffer的原理 如图所示,有多台pc终端交换机上构成一个局域网,当PC1向其它机器发送消息时, 根据交换机的不同有两种模式 1) 如果交换机是管理模式,他会记录下每一口所连计算机的MAC地址(一种网卡 的物理地址,无法更改)当交换机收一个消息帧,会根据目标地址来决定发往哪个 端口。 2) 如果交换机是passive,那么交换机收到消息帧会向交换机的每一个口复制发送一 份并且发送。 能够被窥探者利用的是第二种模式,即交换机会向每一个口上的网卡发送数据帧,但 是为什么一般情况上不会发生问题,是因为网卡也有两种工作模式: 1) 一般模式,网卡只接收目标地址是自己的数据帧,其它数据帧被丢弃。 2) 混杂模式(promiscuous mode)网卡接收所有到达网卡的数据帧。 把交换机的第二种情况和网卡的混杂模式综合起来,就使得一台机器能捕捉到局域网 内所有通讯的数据包,加以分析就形成了我们所看到的msn,qq和其它的消息。 为什么网卡可以设置成混杂模式? 这多半是由于网络监控的需要,但是一般的使用者也能很轻松的把自己的网卡设置成 混杂模式。 1) 最简单的办法,多款著名的packet capture自由软件直接提供了混杂模式功能,比 如ethereal (Google it), 应用它能直接捕获局域网的数据包。 2) 对于Linux机器,可以直接修改其驱动,重新编译装载即可,关于修改网上有很多 文章,http://www.linuxdiyf.com/viewarticle.php?id=52177 3) 对于windows机器,利用winpcap做应用程序来实现, http://www.leftworld.net/wenzhang/show/1816.html 如何反sniffer 如何反sniffer是我们最关心的问题,可以从两个方面来分析 第一是个人,个人可以通过给通讯加密,使得捕获者即使获得数据包也无法读懂内容, 当然如果它还能成功破译那就是另外的问题。现在网上能直接下载msn,qq的发sniffer软 件[3][4], 它的原理就是给通讯加密;不要直接使用telnet,而用ssh等。 第二对于网络管理员,有两种途径 一是不要使用广播式的hub或者交换机来连接局域网(很可能处于经费考虑没法解决)。 二是成功的监控网络上是否有sniffer,也就是网络上是否出现混杂模式的网卡,最直接的 办法是ping本机,如果得到其它机器的icmp响应就证明那台机器是处于混杂模式;或者把 监控软件安装在客户端,一旦有sniffer就及时报告。 总结 以上只是对网络捕获的初步分析,有待深入,文档会继续更新。 引用 【1】 msn sniffer http://www.effetech.com/msn-sniffer/ 【2】 QQ sniffer http://www.skycn.com/soft/550.html 【3】 SimpLite For ICQ 2.1.3 anti-sniffer 【4】 SimpLite For MSN Messenger