在Internet时代,计算机的安全运行早已不再局限于单一的系统中。面对攻击和非法闯入者,网络管理者的“侦探”工作总是要在“数字矩阵”中深入而全面地进行。
在这些“侦探”工作中,我们通常会使用监控软件收集系统信息,而这些软件也大多集成在先进的操作系统中。但是,这些软件所依赖的一些Internet协议并不是很“坚固”,往往不能提供对信息传送者的有力鉴别(例如Email服务就使用基于简单文本的协议),这样就导致调查工作变得复杂起来。因此,对内在的协议和相关程序理解得越好,对Internet信息及地址合法性的评估就越准确。
本文将从多个方面对相关协议和程序进行详细论述,旨在帮助“侦探”们更准确、更全面的定位目标,有效保卫网络安全!
一、必知的Internet基本框架
要想成为一名出色的网络侦探,就需要对Internet协议有彻底的理解。以下的文字可能显得老生常谈,但我认为作为最基础的根基,无论何时重温重读,都会有新的启发。
Internet和许多私网一样,都运行着TCP/IP协议,即传输控制协议和网际协议。实际上,TCP/IP是一组相关网络协议的简写形式,它从60年代后期开始发展,一直到今天还在不断扩充。TCP/IP的一个更准确的说法是Internet协议族,也就是一套通信协定,一个设备必须遵循这些协定才能参与到Internet大家庭中来。TCP/IP并不特别针对某个操作系统、编程语言或者网络硬件,它是一套机会均等的标准,Macs系统、Windows系统、Unix系统以及路由器、交换机和各种主机都可以使用它来互相通信。而且,TCP/IP也不特别针对某些网络拓扑结构,以太网、令牌网和无线网络都能够使用它。但是请记住:正是这种“万金油”的特性成为了计算机犯罪的先天优势。
开放式系统互联(OSI)的七层网络参考模型对网络管理员已经是很熟悉的事情了,下图显示了OSI和TCP/IP各层间的关系:
OSI模型图
原始的七层模型是一个抽象的概念,并没有应用于产生当时的任何技术,尤其是没有应用于处于萌芽状态的Internet协议,例如,Internet服务和协议的确切名称存在很多争议,尤其是会话层(session)和表示层(presentation)。但是技术是不断发展的,Internet协议也得到了不断的完善。现在看来,这些层中支撑的服务就像用拼装玩具垒起来的楼房一样,一个堆在另一个的上面。要成为一个好的调查者,就必须理解相关数据在堆积起来的服务中所处的层次。
每个网卡都有一个唯一的MAC地址,在网卡出厂前就被烙上了印记。MAC地址使一个网段上的所有设备都可以互相引用。在网络层中,根据MAC地址来识别通信数据属于哪个设备,因为MAC地址被合并在大块大块的信息包中。由于Internet上的设备想要通过MAC地址来引用其网段之外的设备是完全不可能的,因此必须建立一个新的引用方法,这就是IP地址。一个IP地址是4个0-255范围内的数字组成的序列,中间用句点分开,如192.188.18.18。某些IP地址或某些IP地址范围是为特殊用途预留的。例如:
从192.168.0.0到192.168.255.255范围内的IP地址属于私用地址,专为用于企业内部网络,不能用于与其它企业或Internet进行直接连接。在追踪入侵者时,如果找到一个在这个范围内的地址,就不要在四处张望了,请将准心立刻瞄准到内部,因为敌人很可能就来自私用网络。
有一点请注意:大家一般都认为MAC地址是永远无法改变的。但实际上,海会枯、石会烂,MAC地址同样可以被修改,例如,在Unix系统中就可以通过ifconfig命令执行MAC地址的修改工作。小心了,看上去最可靠的信息也要打些折扣了。
Internet地址包含两部分:网络地址和主机地址,它们组成了一个世界唯一的地址。两个互不相联的私用网络可以使用相同的“私用地址空间”。地址的唯一性以及地址中网络与主机部分的区别使得路由器能够知道数据向哪里发送,而且智能形路由器总是做按照最有利的方式分配数据发送路线。在这点上,是与公共交换电话网(PSTN)完全不同的。打电话时,PSTN交换设备将建立一个从一端到另一端的电路,并且在整个通话过程中都要保持这个电路。而在Internet上,好像是你一直在使用一个电路,但实际上每个信息包所经由的路线都是由中间路由器随时确定的。
Internet地址的网络部分是由IANA(Internet Assigned Numbers Authority)掌管并为各个网络所有者分配的,主机部分则由网络所有者向各个主机和设备分配。网络可能是由一个组织(商业或政府机构)运行的,也可能由Internet服务提供者(ISP)运行以向其用户提供Internet访问服务。
IP地址可以是静态的,也可以是动态分配的。具有静态IP地址的计算机通常会一直使用相同的IP地址,直到它被手动改变为一个新地址。使用静态IP地址不利于一个组织中的多台计算机的IP地址信息配置,因为有时候会发生网关、DNS改变的情况。因此,采用DHCP即动态主机配置协议越来越普遍。当用户登录到一个网络时,其PC就被自动分配了一个动态IP地址并附带了其他网络信息。对于网络管理员来说,DHCP巧妙地解决了为不断移动的Internet设备手动分配地址所带来的麻烦和混乱。事实上,所有的ISP都使用DHCP为其拨号上网用户分配地址,而许多永久连接的家庭用户在他们的电缆调制解调器关机和开机时,也有动态分配的地址。DHCP因为明显的优势而使其应用范围不断增加,但是,狡兔三窟、一机多址,DHCP增加了计算机案件侦破工作的难度。
发送垃圾邮件的人总是想将他们的真实身份隐藏,采用的手段一般有两种:使用一个伪造的回复Email地址,或者包含令人困惑的URL信息。这个URL信息既不是好理解的文字,也不是向135.17.243.191这样规矩的IP地址信息,通常是以256为基数的10进制整数,如http://2280853951。这样神秘的数字确实令人困惑,但有一个相当简单的办法就能识别出它的真面目,显现出垃圾邮件来自哪个Web站点。这个窍门就是在命令行执行如下命令:
IP地址猜谜
瞧,对应的IP地址昭然天下了。多么简单!
同一个网段上的设备间互相通信时并不会直接使用IP地址,而是要将IP地址翻译成MAC地址才能真正“亲密接触”。这个翻译过程需要查询ARP表才能完成,这个表由ARP(Address Resolution Protocol)自动生成。简言之,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,从而保证通信的顺利进行。ARP是众多后台运行的网络服务中的一员,虽然它对大部分用户不可见,但对于网络的操作却十分必要。从ARP的工作情景就能看出,网络中的计算机是非常爱说话的,它们不断地比较路由表中的信息、判断着网络的状态以及彼此的存在。
毋庸置疑,网络管理员最常用的命令就是Ping了,它小巧但却实用,称为瑞士军刀应不过分。Ping使用ICMP协议(网际控制报文协议)从源机器向目标机器发出ECHO_REQUEST(回送请求)信息包,当目标机器接收到这个信息包时,回送一个Echo_Reply(回送答复)信息包,如此就能验证两个机器间的连通性。另外,ping还可以用来确定机器的DNS名。但是我们要清楚,ping是一个相对比较容易暴露身份的程序,被ping的主机很容易就能识别出发出ping命令的来源机器地址。因此,不要随意地、大量地滥用ping命令测试商用主机的连通性,否则出了麻烦不好解释。
如果要持续检查一个机器是否“激活”,可以使用诸如WhatsUp Gold这样的程序,它可以按照预定的时间间隔、对输入的IP地址进行自动检查并确定一个特定主机上的特定服务是否可用。另外的功能还有:自动在几分钟内发现和制作局域网连接图、监视大范围内的网络设备问题,包括主机、服务器、路由器、集线器、工作站、网桥、打印机以及服务和应用;在网络有问题时,自动用各种方式提醒管理员,包括警报、呼机、电子邮件及电话;生成各种网络问题的审计报告;用浏览器监视各种情况;在极短的时间内发现和修复网络问题。总而言之,WhatsUP绝对是一个功能非常强大的网络工具包。
在这些“侦探”工作中,我们通常会使用监控软件收集系统信息,而这些软件也大多集成在先进的操作系统中。但是,这些软件所依赖的一些Internet协议并不是很“坚固”,往往不能提供对信息传送者的有力鉴别(例如Email服务就使用基于简单文本的协议),这样就导致调查工作变得复杂起来。因此,对内在的协议和相关程序理解得越好,对Internet信息及地址合法性的评估就越准确。
本文将从多个方面对相关协议和程序进行详细论述,旨在帮助“侦探”们更准确、更全面的定位目标,有效保卫网络安全!
一、必知的Internet基本框架
要想成为一名出色的网络侦探,就需要对Internet协议有彻底的理解。以下的文字可能显得老生常谈,但我认为作为最基础的根基,无论何时重温重读,都会有新的启发。
1、TCP/IP的基本概念及起源 |
Internet和许多私网一样,都运行着TCP/IP协议,即传输控制协议和网际协议。实际上,TCP/IP是一组相关网络协议的简写形式,它从60年代后期开始发展,一直到今天还在不断扩充。TCP/IP的一个更准确的说法是Internet协议族,也就是一套通信协定,一个设备必须遵循这些协定才能参与到Internet大家庭中来。TCP/IP并不特别针对某个操作系统、编程语言或者网络硬件,它是一套机会均等的标准,Macs系统、Windows系统、Unix系统以及路由器、交换机和各种主机都可以使用它来互相通信。而且,TCP/IP也不特别针对某些网络拓扑结构,以太网、令牌网和无线网络都能够使用它。但是请记住:正是这种“万金油”的特性成为了计算机犯罪的先天优势。
开放式系统互联(OSI)的七层网络参考模型对网络管理员已经是很熟悉的事情了,下图显示了OSI和TCP/IP各层间的关系:
![](http://tech.ccidnet.com/pub/attachment/2002/1/7840.gif)
OSI模型图
原始的七层模型是一个抽象的概念,并没有应用于产生当时的任何技术,尤其是没有应用于处于萌芽状态的Internet协议,例如,Internet服务和协议的确切名称存在很多争议,尤其是会话层(session)和表示层(presentation)。但是技术是不断发展的,Internet协议也得到了不断的完善。现在看来,这些层中支撑的服务就像用拼装玩具垒起来的楼房一样,一个堆在另一个的上面。要成为一个好的调查者,就必须理解相关数据在堆积起来的服务中所处的层次。
2、MAC地址与IP地址 |
每个网卡都有一个唯一的MAC地址,在网卡出厂前就被烙上了印记。MAC地址使一个网段上的所有设备都可以互相引用。在网络层中,根据MAC地址来识别通信数据属于哪个设备,因为MAC地址被合并在大块大块的信息包中。由于Internet上的设备想要通过MAC地址来引用其网段之外的设备是完全不可能的,因此必须建立一个新的引用方法,这就是IP地址。一个IP地址是4个0-255范围内的数字组成的序列,中间用句点分开,如192.188.18.18。某些IP地址或某些IP地址范围是为特殊用途预留的。例如:
*以0结尾的IP地址表示一个网络地址,如192.168.0.0 *以255结尾的IP地址表示广播地址,如192.168.0.255 |
从192.168.0.0到192.168.255.255范围内的IP地址属于私用地址,专为用于企业内部网络,不能用于与其它企业或Internet进行直接连接。在追踪入侵者时,如果找到一个在这个范围内的地址,就不要在四处张望了,请将准心立刻瞄准到内部,因为敌人很可能就来自私用网络。
有一点请注意:大家一般都认为MAC地址是永远无法改变的。但实际上,海会枯、石会烂,MAC地址同样可以被修改,例如,在Unix系统中就可以通过ifconfig命令执行MAC地址的修改工作。小心了,看上去最可靠的信息也要打些折扣了。
3、IP地址的组成部分、指派机构及分配种类 |
Internet地址包含两部分:网络地址和主机地址,它们组成了一个世界唯一的地址。两个互不相联的私用网络可以使用相同的“私用地址空间”。地址的唯一性以及地址中网络与主机部分的区别使得路由器能够知道数据向哪里发送,而且智能形路由器总是做按照最有利的方式分配数据发送路线。在这点上,是与公共交换电话网(PSTN)完全不同的。打电话时,PSTN交换设备将建立一个从一端到另一端的电路,并且在整个通话过程中都要保持这个电路。而在Internet上,好像是你一直在使用一个电路,但实际上每个信息包所经由的路线都是由中间路由器随时确定的。
Internet地址的网络部分是由IANA(Internet Assigned Numbers Authority)掌管并为各个网络所有者分配的,主机部分则由网络所有者向各个主机和设备分配。网络可能是由一个组织(商业或政府机构)运行的,也可能由Internet服务提供者(ISP)运行以向其用户提供Internet访问服务。
IP地址可以是静态的,也可以是动态分配的。具有静态IP地址的计算机通常会一直使用相同的IP地址,直到它被手动改变为一个新地址。使用静态IP地址不利于一个组织中的多台计算机的IP地址信息配置,因为有时候会发生网关、DNS改变的情况。因此,采用DHCP即动态主机配置协议越来越普遍。当用户登录到一个网络时,其PC就被自动分配了一个动态IP地址并附带了其他网络信息。对于网络管理员来说,DHCP巧妙地解决了为不断移动的Internet设备手动分配地址所带来的麻烦和混乱。事实上,所有的ISP都使用DHCP为其拨号上网用户分配地址,而许多永久连接的家庭用户在他们的电缆调制解调器关机和开机时,也有动态分配的地址。DHCP因为明显的优势而使其应用范围不断增加,但是,狡兔三窟、一机多址,DHCP增加了计算机案件侦破工作的难度。
4、IP地址猜谜 |
发送垃圾邮件的人总是想将他们的真实身份隐藏,采用的手段一般有两种:使用一个伪造的回复Email地址,或者包含令人困惑的URL信息。这个URL信息既不是好理解的文字,也不是向135.17.243.191这样规矩的IP地址信息,通常是以256为基数的10进制整数,如http://2280853951。这样神秘的数字确实令人困惑,但有一个相当简单的办法就能识别出它的真面目,显现出垃圾邮件来自哪个Web站点。这个窍门就是在命令行执行如下命令:
![](http://tech.ccidnet.com/pub/attachment/2002/1/7846.gif)
IP地址猜谜
瞧,对应的IP地址昭然天下了。多么简单!
5、ARP协议 |
同一个网段上的设备间互相通信时并不会直接使用IP地址,而是要将IP地址翻译成MAC地址才能真正“亲密接触”。这个翻译过程需要查询ARP表才能完成,这个表由ARP(Address Resolution Protocol)自动生成。简言之,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,从而保证通信的顺利进行。ARP是众多后台运行的网络服务中的一员,虽然它对大部分用户不可见,但对于网络的操作却十分必要。从ARP的工作情景就能看出,网络中的计算机是非常爱说话的,它们不断地比较路由表中的信息、判断着网络的状态以及彼此的存在。
6、优秀的网络工具Ping和what's up |
毋庸置疑,网络管理员最常用的命令就是Ping了,它小巧但却实用,称为瑞士军刀应不过分。Ping使用ICMP协议(网际控制报文协议)从源机器向目标机器发出ECHO_REQUEST(回送请求)信息包,当目标机器接收到这个信息包时,回送一个Echo_Reply(回送答复)信息包,如此就能验证两个机器间的连通性。另外,ping还可以用来确定机器的DNS名。但是我们要清楚,ping是一个相对比较容易暴露身份的程序,被ping的主机很容易就能识别出发出ping命令的来源机器地址。因此,不要随意地、大量地滥用ping命令测试商用主机的连通性,否则出了麻烦不好解释。
如果要持续检查一个机器是否“激活”,可以使用诸如WhatsUp Gold这样的程序,它可以按照预定的时间间隔、对输入的IP地址进行自动检查并确定一个特定主机上的特定服务是否可用。另外的功能还有:自动在几分钟内发现和制作局域网连接图、监视大范围内的网络设备问题,包括主机、服务器、路由器、集线器、工作站、网桥、打印机以及服务和应用;在网络有问题时,自动用各种方式提醒管理员,包括警报、呼机、电子邮件及电话;生成各种网络问题的审计报告;用浏览器监视各种情况;在极短的时间内发现和修复网络问题。总而言之,WhatsUP绝对是一个功能非常强大的网络工具包。