2.1 网络通信基础

一台计算机和另一台计算机通信,只需要知道两个内容就可以了,即IP地址和端口号。这两个名词想必大家不但听过,而且已经有感性上的认识了。我们在扫描网络主机的时候,会在扫描器中填写扫描主机的IP地址,然后扫描器会逐个扫描IP地址,并且把指定IP的所有开放端口全部列出来。那么IP地址是什么?端口号是什么?下面简单介绍一下两者的作用。

2.1.1 IP地址的作用与分类

IP地址的全称是网际协议地址,互联网上的每个主机和路由器都有IP地址,没有两个机器有相同的IP地址,因此它是用来标识一台网络主机的。所有的IP地址都是32位长,其用点分十进制法来表示,比如“10.10.30.12”。IP地址指定的不是主机,而是网络接口设备。因此,一个主机有两个网络接口,那么就会有两个IP地址。通常情况下,一台主机只有一个IP地址。

IP地址被分为5类,分别是A类、B类……E类,每一类IP地址的范围如表2-1所示。

2.1 网络通信基础 - 图1

上面的IP地址划分是照搬了其他参考书里面给出的IP地址的划分方式,笔者把这些IP地址重新进行了归类。共分为4类,一类是环回IP地址(表示本机IP地址),一类是内网IP地址,一类是公网IP地址,一类是其他。下面分别进行简短的介绍。

  1. 环回IP地址。

A类网络号为127就是为环回地址预留的。通常情况下是127.0.0.1这个地址,或者是localhost,该IP地址不管机主是否联网,对这个IP地址的通信都是可以连通的,因为它就表示本地主机。ping一下环回地址试试,在命令行下输入:ping 127.1,不论是否联网这个地址都是通的。

  1. 内网IP地址。

用于局域网内,比如网吧、企业、政府、学校的内部。它主要负责局域网的通信。内网地址开头都是10、192……一些地址。

  1. 公网IP地址。

是ISP(网络服务供应商),比如网通、电信、铁通……提供的这些地址都是由动态ISP分配的,这个地址是真正在互联网上进行通信的IP地址。

  1. 其他IP地址。

是TCP/IP中保留的用来做实验的一些IP地址,就比如D类和E类这些基本我们普通用户用不到的IP地址。

2.1.2 端口的作用与分类

IP地址可以在互联网上唯一地标识一台主机,那么端口号有什么用呢?两台计算机通信,其实是两台计算机上的不同进程间的通信。也就是说,木马的客户端和木马的服务端都是操作系统下的一个进程。Windows操作系统下是多进程的,即使IP地址可以标识一台主机,却无法得知是和哪个进程在通信,因为打开的网络软件实在太多了,比如QQ、IE……因此,端口号就是用来标识进程的。

端口号是16位的,范围在0〜65535之间。端口号根据传输层的传输协议的不同分为两种,一种是TCP端口,另一种是UDP端口。用扫描端口的软件可以区分出TCP和UDP端口。TCP和UDP是两种不同的协议,TCP协议用于可靠传输中,而UDP协议用于不可靠传输中。TCP的端口在通信过程中始终保持连接,直到通信结束,而UDP的通信是不需要连接的。两种协议各有优缺点,视具体情况而定。