一、写在前面的话
Internet网在我国是从1996年开始进入迅猛发展时期的,随着网络神话的不断诞生,更多的年轻人加入到这个令人神往的行业中来,俗话说的好:“林子大了,什么鸟都有”,网络也一样,良莠不齐,在绝大多数网络人员为祖国的信息产业献策献力的时候,少数人却为展示自己或获得某种利益而实施网络攻击,最终落得身陷囹圄甚至命绝黄泉的下场,实在可悲可叹。但由于网络的特殊魅力,网络攻击者可谓是前仆后继,一浪高过一浪。因此,当大家在与网络接触的过程中往往会遭到一些不明的侵袭,比如:聊天室里你的屏幕上突然被打开了无数的窗口、使用OICQ时一下子收到了大量的垃圾信息、使用从某网站下载的软件后你发现机器处理速度明显变慢了、当你浏览某网站的时候突然机器蓝屏死机了、到电信局交网费的时候你发现拿到的是近乎天文数字的帐单,如此种种,都表明你受到了网上的非法侵害。
二、了解一点网络小常识
1、什么是IP地址?
我们上网的每台机器都至少会有一个IP地址,以区别与Internet网上的其他机器,格式为: xxx.xxx.xxx.xxx (其中x代表0-9的数字,xxx的大小在0到255之间)比如:一般机器的本地IP地址是127.0.0.1。其实IP地址相当于你在Internet上的身份证号码,是用于区别他人的,所以在Internet里是没有两个IP地址是相同的。
2、拨号用户的IP地址是每次都变化的
对于拨号上网的用户,你每次拨号上网被分配的IP地址是变化的。比如:这次你的IP地址是202.102.243.48,下次可能是202.102.243.170或其他,但在整个Internet里仍然是唯一的,并且在你没有挂断之前一直是不变的。不少拨号上网的网友对IP地址每次都变化表示困惑,我是这样理解的:假如你的ISP(网络服务提供商)有1000个拨号用户,而它只拥有500个IP,事实上经你的ISP统计,一般同时上网的用户不超过400人,所以给它的拨号用户随机从500个IP中分配不仅是可行的,而且是划算的。当然你若肯向你的ISP额外付费的话,完全可以获得一个拨号的固定IP,但这对大多数拨号用户来说是不必要的开支。
3、每个网卡至少可以绑定一个IP地址
大多数时候,分配给网卡的IP地址是固定的,事实上一个网卡可以同时绑定多个IP地址,网卡主要用在两种环境:一种是绑定一个外部IP地址直接接入Internet网,一般用于Internet服务器或专线用户上网;另一种是绑定一个内部IP地址和其他机器连接成一个局域网,当然若局域网服务器设置有DHCP服务器的话,也可以给局域网内部的每台工作站分配动态的内部IP地址。若有Proxy代理服务器的话,还可以访问外部Internet网,事实上不少企业和网吧都是通过代理服务器实现内部机器上网的,这样不仅节省了IP,而且安全性更好些。
4、我上网后怎么才能知道我的IP地址?
对于Windows 95: 运行 winipcfg.exe
对于Windows 98: 运行 ipconfig.exe
注:文件winipcfg.exe和ipconfig.exe在你的Windows目录里。
5、Port端口有什么用处?
Port端口是用来标识不同Intenet服务的。打个比方:某公司的总机电话是88888888,电脑部的分机电话是001,网络部的分机电话是002,依次类推。那么我要找该公司电脑部的人,首先要知道公司总机电话88888888,而且还要知道001才能接通,同样要找网络部的话就要知道002... 这里的8888888就相当于IP地址,001和002就相当于端口,是用来区分同一公司的不同服务部门的,也就是说我知道了某台服务器的IP地址,并向它提供端口号,它才能把你需要的数据传送给你,当然那个端口必须是开放的,就好比公司的电脑部必须是存在的一样。一般我们的浏览器默认是向IP地址为80的端口发送请求的。常见的端口号及相应的服务如下:
21 FTP-文件传送 (用CuteFtp等Ftp软件维护网站用的就是该协议)
23 TELNET - 远程登录 (管理员和黑客远程控制系统的最基本手段)
25 SMTP - 邮件发送 (Outlook Express或FoxMail等邮件程序发Email用)
53 DNS - 域名解析 (实现域名和IP地址之间的转换)
80 HTTP - Web服务 (最常用的为Internet Explorer等浏览器提供网页服务)
110 POP3 - 邮件接收 (Outlook Express或FoxMail等邮件程序收Email用)
...
注:端口范围为0-65535, 0-1024为系统使用,剩下的用户自己定义,所以聊天软件和木马等使用的端口大多都大于1024。
6、我知道对方的IP地址,如何判断对方是否在网上?
用Ping.exe程序,方法如下:
Ping 对方的IP地址(回车)
若出现信息 “Reply from ...” 说明对方在网上!
若出现信息 “Request timeout ...” 说明对方不在网上!
注:文件Ping.exe在Windows目录里。
7、什么是Proxy代理服务?
代理服务其实很简单,就好比代理人,你只需把你的要求告诉他,他就会为你把事情办好。当然若他不认识你又不愿意学雷峰的话,你可能要付一定的费用,不过若你能够使他认为你是他的亲戚的话,也许他很乐意免费为你服务。而Internet网上的代理说白了就是一个IP地址和特定端口,比如:你在一个局域网里,你的内部IP地址是192.168.0.1,代理服务器的内部IP地址是192.168.0.100和外部地址是202.102.248.78,本来你是无法访问 http://janker.126.com的,但202.102.248.78能够访问,并且它只能和内部地址192.168.0.100相互交流(在同一主机里呀),那么你就可以把你的请求通过192.168.0.100告诉给202.102.248.78,由202.102.248.78向http://janker.126.com递交请求,http://janker.126.com会把请求结果反馈给202.102.248.78,然后202.102.248.78再通过192.168.0.100把结果给你就完了!对于Internet Explorer设置代理服务器的方法如下:
IE菜单“工具”-“Internet选项”-“连接”-“局域网设置”-“代理服务器”
填入代理服务器的“地址”和“端口”即可。至于如何找到代理服务器,其实网上有很多免费的,用国产的一个叫Proxy Hunter软件的就可以找到很多!
可以看出,使用代理服务器至少有两个好处:一是你不能访问的资源现在可以访问了;二是你没有和你要访问的服务器打交道,那个服务器自然就无法知道你的IP地址,它只能知道你的代理服务器的IP地址,而你的代理服务器可能与你一点关系都没有。
注:代理服务器的外部地址可以是固定的(网卡绑定专线上网)、也可以是动态的(拨号上网或ISDN等)。
8、什么是TCP和UDP协议?
TCP是面向连接的传送协议,就是说你首先要把你的IP地址和请求信息发送给对方,对方同意后也会把它的IP地址和许可信息发送给你,你收到对方的许可信息后,还要告诉对方:“我也准备好了!”,然后就可以和对方进行数据传送了。其中建立连接的过程一般叫“三次握手”。因为过程烦琐,所以速度慢些,但可靠性高。数据结构如下:
[IP头]+[TCP头]+[数据]
注:
(1)IP头里包括发送方和接收方的IP地址和使用的协议类型
(2)TCP头里包括发送方和接收方的端口
UDP是无连接的传送协议,就是说你不用握手,也不用知道对方是否在网上,只要知道对方的IP地址,发过去就是了,若对方在网上就可能收到了,否则根本收不到。但由于过程简单,所以速度快,当然可靠性就低了。
[IP头]+[UDP头]+[数据]
注:IP头里包括发送方和接收方的IP地址和端口
(1)IP头里包括发送方和接收方的IP地址和使用的协议类型
(2)UDP头里包括发送方和接收方的端口
举例:
HTTP、FTP和mIRC等用的都是TCP协议。
DNS和OICQ等用的是UDP协议。
9、如何才能隐藏上网的IP地址?
对于这个问题,我个人认为:基本上是不可能的。为什么说是基本上呢?是因为有的时候是可以的、是相对的。具体实现IP隐藏的方法主要有两种: (1)使用代理服务器
从上面可以知道使用代理服务器就能实现对其他服务器的IP地址隐藏,但是你对代理服务器是无法隐藏的。
(2)发送数据时改掉IP数据包里的你的IP地址
说到底,在Internet网上传输的所有数据(包含有你的IP地址),都是以IP数据包的形式传送的,所以可以在发送IP数据包之前先把自己的IP地址改掉,然后再发送,自然对方就无法获得你的IP地址了,相当于实现了IP地址隐藏。但问题是,你若使用的是TCP协议的话,对方即便许可了也无法把许可信息发送给你,而是发送到了你改掉的IP地址那里去了,结果你和对方无法建立连接,当然也就无法从对方获得数据,基本上没什么意义,但是对于有些探测是可行的,比如端口扫描器。当然对于UDP就很有效果了,不少网络炸弹就是用UDP实现IP地址隐藏的。
事实上,现在的Windows平台的网络炸弹大多是没有实现IP地址隐藏的。原因是在Windwos 95/98/NT上的Winsock库不支持对IP头的修改和自定义,在Windows2000和Unix/Linux才允许。当然,完全可以通过自己写一套底层的Socket库来实现,但这样并不容易,更多的是通过写Vxd/Sys等设备驱动程序来实现的,当然对一般编程人员而言,也有一定难度。
所以,总结一下就是:在网络上隐藏IP地址基本上是不可能的。
三、构建一个安全的操作系统
在这里说是构建一个安全的操作系统,更确切的应该是说保证操作系统的网络功能安全,因为无论是Windows 95还是Windows 98的网络功能都存