正在阅读:围剿与反围剿 解析上网行为管理那点事围剿与反围剿 解析上网行为管理那点事

2009-12-02 17:07 出处:PConline原创 作者:饭盒装盒饭 责任编辑:gaohongjun

  企业不是网吧,网吧是用来kill time的,而企业是用来制造G.D.P的。为了网络安全,为了合理利用网络资源,为了管理员工的上网行为,为了提高员工工作效率,总之,为了很多事情,网络设备厂商开发一了些小工具,而网管把它们使用得得心应手。

  这些“小工具”都有哪些呢?我们可以掰手指来数一下。首先是位于OSI模型第二层的“工具”,这使得我们可以基于MAC地址进行操作;第二个是位于OSI模型第三层的“工具”,这使得我们可以基于IP地址进行操作;第三个是位于OSI模型第四层的“工具”,这使得我们可以基于端口号(服务)进行操作。但这些“工具”其实都不是十分可靠,原因很简单,端口号、IP地址甚至MAC地址都是可以任意修改的,修改以后,相应的策略就失效了。

  不可否认,随着宽带的普及各种五花八门的网络应用也随之出现,我们刚提到的传统“老三样”工具就变得更不可靠了。一般我们认为,端口号可以标识特定服务,比如23号端口代表Telnet服务。但由于1024以上的端口号是“开放”使用的,BT使用什么端口号,这个问题恐怕比较难回答。一个常见的例子,无论网管在路由器上设置怎样复杂的策略阻止员工使用BT,效果都不会很好。最后所使用的管理手段可能是限制每个IP的最大带宽和最大连接数,这其实是一种没有办法的办法,首先这可能会影响到员工正常上网,第二,无法从根本上限制员工使用BT — 依然可以用,只是速度慢。

当下各种网络应用
时下主要的网络应用

  这两年,上网行为管理路由器被越来越多人关注,原因很简单,它可以对很多应用进行管理,比如QQ、MSN、BT,网游等等,而且是十分有效的管理,一旦应用策略,用户几乎无法绕过“封锁线”。在网络管理方面,确实帮了企业很大的忙。但“上网行为管理”这一概念多少给人一些雾里看花的感觉,它的本质是什么?实现原理又是什么?下面笔者就来说一说,也欢迎您参加讨论,文中所述不恰当之处还望您指出。

  不过在说“上网行为管理”之前,我们有必要梳理一下“老三样”工具,因为,它们其实是环环相扣的。比如一条信息,ABCD,是如何正确地从A电脑的QQ中传输到B电脑的QQ中的呢?

  信息的传输过程大概是这样的:QQa生成了一条内容为“ABCD”的信息,这条信息从OSI的第7层开始被逐层“加工”,当ABCD“走”到传输层时(第四层),有两个重要的参数会被附加在这条信息上 — 源端口号和目的端口号。端口号的作用是标识数据,因为一台电脑发出的和收到的数据量是非常大的,如何区分这些数据是哪个程序发出的、发给对端电脑上哪个程序是很重要的。

  经过第四层后,ABCD被加上了传输层的包头,这时数据来到了第三层,网络层。网络层继续在数据外边附加控制信息,就像“剥洋葱”一样,只不过,过程是反向的。网络层包头中有两个重要的参数,源IP地址和目的IP地址。被加工过的数据称为数据包。>>

  经过第三层后,数据包来到了第二层,数据链路层。数据链路层继续在数据包外边附加控制信息,其中有两个重要的参数,源MAC 地址与目地MAC地址。被加工过的数据包称为数据帧。数据帧再被转化为bit流就可以在物理网络上传输了。当目地MAC主机收到数据帧后,就像“剥洋葱”一样,一层一层剥去控制信息,在剥到第四层时发现,端口号指出,ABCD这条消息应该被提交给QQb。以上描述可能并不十分严紧,但数据在网络中大概就是这样被传输的。

  管理MAC地址:MAC地址工作在OSI模型的第二层。这个地址被“烧”在了网卡上,它就像是每台电脑相对固定的身份证一样,每当电脑与对端设备进行通信时,双方的MAC地址总会出现在数据帧中。这就相当于数据帧有了“身份”信息,而且这一信息就在数据帧的最外围,所以对数据帧进行管理是最简单的。但其实MAC地址很容易被修改 — 不是真的重新烧录网卡上的地址,而是在操作系统层面进行“软”修改。修改了MAC地址,相关的管理策略也就失效了。

  管理IP地址:IP地址工作在OSI模型的第三层,这个地址是我们手动为网卡指定的,修改起来也更加方便。管理IP地址要比管理MAC地址方便一些,也更有效率,比如,可以对一个IP地址段进行策略套用。但不足也同样明显,修改IP地址比修改MAC地址更容易,所以基于IP地址的安全策略很容易被“绕过”。

  管理端口号:端口号与具体的应用程序有关,所以基于端口号的策略的有效性要比其它两种稍强一些。比如,一台在192.168.2.0网络中的服务器开放了Telnet端口(23号端口),但不希望192.168.1.0网络的电脑访问,一种方法是可以在路由器上设置一条策略,禁止所有来自192.168.1.0的Telnet请求通过。这样的话,192.168.1.0网络中的某台电脑,无论怎样修改IP地址、MAC地址都是无法访问服务器的。原因很简单,因为在此情境中,所有Telnet请求都必须访问23号端口。

  不可否认,基于端口号的管理策略在某些情况下是比较有效的,但这仅是在少数情况下。因为多数应用所使用的不是固定的端口号,比如QQ、MSN、BT等等。看到这里我想您也明白了,所谓有效的管理策略都是基于不可变“条件元素”的,但传统的“老三样”所基于的“条件元素”都是可修改的,所以“老三样”很难有效管理QQ、MSN、BT。


常见的应用,应用层协议,传输层协议

  之所以上网行为管理路由器可以有效的管理QQ、MSN、BT等,是因为这类设备使用了不同的“条件元素”,即应用层协议。每个应用层协议都是为了服务于某一类应用,比如,BT客户端有很多,包括比特精灵,比特慧星等,但它们所使用的其实都是bittorrent协议。协议比MAC地址、IP地址、端口号都要“稳定”,实际上对于用户来讲是不可修改的,所以基于应用层协议的管理策略十分有效。对应用层协议进行识别,基于此再套用管理策略,这就是上网行为管理的本质。>>

  下面的几张图片是使用Wireshark抓包软件得到的网络流量,从中我们可以看出很多信息:

QQ数据帧
QQ数据帧

  首先在Protocol列,可以看到QQ(OICQ)协议被成功识别。之前我们说过,数据帧的结构很像洋葱,在上图的下半部分可以看到数据帧中的具体内容。第2行是数据链路层信息,第3行是网络层信息,第4行是传输层信息(UDP),第5行是应用层协议。


BT数据帧


BT数据帧

  细心的网友可能看出了上面两张BT数据帧截图的不同,笔者修改了本机(192.168.16.5)BT客户端的端口号,由24647改为6228。不过在Protocol一列,BitTorrent协议依然可以被成功识别 — 一定会被成功实别,因为修改端口号不会对应用层协议产生任何影响。

  我们能够修改应用层协议吗?笔者认为,一般用户是无法做到的。上网行为管理路由器的工作原理正是对应用层协议进行识别,然后套用预置的策略,如果策略被应用,用户几乎无法绕过。笔者个人认为,具备上网行为管理功能的路由器是未来宽带路由器市场的主力军,不要小看这一改进,它确实为用户提供了易用且有效的网络管理手段,这是传统路由器难以做到的。

  上网行为管理路由器有没有弱点?当然有,最大的问题在对应用层协议的识别上。随着应用软件的更新,其所使用的应用层协议也可能被改写,这可能就会带来识别上的问题,无法正确识别协议,上网行为管理功能自然也就无法生效。为了解决这一问题,网络设备厂商也会像反病毒厂商一样,定期更新“策略库”。

  员工与网管之间,有时需要斗智斗勇,各有各的需求嘛,围剿与反围剿的手段也在不断翻新,在了解了上网行为管理的实现原理后,不知您有何良策突破封锁?[返回频道首页]

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多

网络设备论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品