第9章 网络通信
9.1 TCP/IP协议
在当今世界,UNIX系统被广泛使用的原因之一,就是UNIX的强大联网功能。UNIX的网络协议缺省为TCP/IP。UNIX已成为Internet上各种服务器的首选协议。
TCP/IP协议由一系列协议组成,统称TCP/IP协议族。TCP/IP协议是TCP/IP协议族中的基本协议,协议族常用协议有:
传输控制协议/互网络协议(TCP/IP - Transmission Control Protocol/Internet Protocol)是协议族的基本协议。
用户数据报协议(UDP - User Datagram Protocol)提供无连接的传输层协议,但不保证传输的可靠性。
远程登录协议(telnet)是用户层协议,定义了远程登录的标准。
文件传输协议(FTP - File Transfer Protocol)也是用户层协议,定义了不同系统间进行文件拷贝的标准。
9.2 查看网上用户信息
用finger命令来显示正在使用UNIX系统的用户信息。finger的命令格式如下:
finger [用户名][@主机域名或ip地址]
finger命令举例
命令举例 说明
finger 查看本地所有用户信息
finger root 查看root用户的信息
finger @xywsyb2 查看主机xywsyb2上的所有用户信息
finger
[url=mailto:abc@xywsyb2.huawei.com.cn]abc@xywsyb2.huawei.com.cn[/url]
查看主机xywsyb2.huawei.com.cn上的所有用户信息
finger [email=abc@xywsyb2]abc@xywsyb2[/email] 查看主机xywsyb2上的abc用户信息
finger
abc@129.6.114.202 查看主机129.6.114.202上的abc用户信息
9.3 使用mail 发送和接收电子邮件
mail 命令用来发送和接收电子邮件。用户不仅可使用mail 与本系统的用户通信,还可与网络中的用户通信。mail 的两种功能:发送电子邮件和接收电子邮件。
一、发送电子邮件
$ mail alex
Subject: test
This is a test message。
一般用句号来结束信件,有些版本用ctrl-d 来结束。
二、阅读电子邮件
mail 会显示所有邮件的标题。这时,用户按回车一个一个的阅读,直到所有的邮件都阅读完毕,键入q 退出并返回到shell。
$ mail
9.4 在网络上登录和拷贝
本节介绍了在用户使用的本地计算机上通过计算机网络对远程主机进行操作的工具软件telnet和ftp。telnet把本地计算机当成远程主机的一个仿真终端;ftp用于在本地计算机和远程主机之间传递文件。
telnet/ftp、远程主机、计算机网络和本地计算机的关系如下图所示:
本地计算机 TCPIP协议 远程主机
(telnet/ftp客户机)...............................................................................................(telnet/ftp服务器)
远程主机一般是指装有UNIX操作系统的计算机。计算机网络可以是任何类型的网络,如LAN、WAN、Internet,网络协议采用TCP/IP协议。本地计算机可以是任何类型的计算机,如PC机,本地计算机上运行的操作系统可以是任何类型的操作系统,如DOS、WINDOWS 3.x、WINDOWS 95、WINDOWS NT、UNIX、VMS等等。
深入分析 telnet/ftp是TCP/IP协议族中的应用层协议,它们的工作方式采用客户机/服务器方式。本地计算机上运行的telnet/ftp程序,实际上是telnet/ftp的客户程序,它通过TCP/IP协议与远程主机中的服务程序相连,两者配合工作。凡是装有telnet/ftp服务器端软件的系统均可作为上面所说的远程主机。UNIX操作系统的缺省网络协议是TCP/IP,支持telnet/ftp协议,同时装有telnet/ftp的服务器端软件和客户机软件,所以UNIX主机既可以作为telnet/ftp的客户机又可以作为telnet/ftp服务器。本章只讨论远程主机是UNIX的情况。
一、telnet
telnet是通过网络远程登录UNIX的软件(tel指远程,net指network即网络),其功能是在用户使用的本地计算机上通过计算机网络登录到远程UNIX主机上,把本地计算机当成远程UNIX主机的一个仿真终端。当用户利用telnet完成与远程UNIX主机的登录后,自己的计算机似乎已经消失,完全成为对方主机的一个远程仿真终端用户,就象在UNIX主机终端上操作一样。此时用户所能够使用的功能和资源以及整个工作方式完全取决于对方的系统和登录帐号的权限。
telnet的一般运行格式如下:
telnet IP地址或域名
以上的IP地址或域名是指远程UNIX主机的IP地址和域名。在本地计算机屏幕上就会出现信息,提示用户输入UNIX的用户名和口令,接着要求输入终端类型,最后进入UNIX系统,并出现UNIX操作系统提示符,以后的操作就象在UNIX主机终端上操作一样。 在PC兼容机上的windows下运行telnet时,终端类型最好选xterm。
[注意事项]1、 在运行telnet之前必须保证本地计算机和远程主机间的TCP/IP协议已经连通。
2、通常我们在WINDOWS客户端使用netterm等软件远程登录。该软件操作和显示灵活方便,易于使用,应掌握。
[例1] 在WINDOWS 95上运行telnet,远程登录SCO UNIX,假设SCO UNIX主机的IP地址为129.6.114.201。
telnet软件是WINDOWS 95自带的软件,只要设置好TCP/IP协议后就可运行telnet。telnet的运行过程如下:点击WINDOWS 95上的“开始”按纽,再选则“运行”菜单,出现运行框,输入:
telnet 129.6.114.201
点击运行框上的“确定”按纽,出现Telnet框,提示输入UNIX用户名:
UNIX System V Release 3.2 (xywsyb2.huawei.com.cn) (ttyp2)
login:
以后的操作就象在UNIX主机终端上操作一样。
[例2] 在WINDOWS 3.x上运行telnet,远程登录Digital UNIX,假设Digital UNIX主机的IP地址为129.6.5.2。
由于WINDOWS 3.x自身没有携带TCP/IP和telnet软件,在使用telnet之前必须先进行安装。这里不介绍安装过程,只介绍软件的简单设置和使用。Netterm软件是telnet的变种,完全包含telnet的功能,这里只对Netterm进行介绍。
Netterm的设置:先启动Netterm,在File菜单下选"Phone Directory ...",出现"Phone Directory"框,在"Host Name"项下输入一个名字(任意取名,表示UNIX主机名),在"Host/IP"下输入UNIX主机的IP地址"129.6.5.2","Telnet Port"取值23,在"Connection"下选中TCPIP,点击"Add"按纽,再点击"Ok"按纽。
Netterm的运行:先启动Netterm,点击电话机图标就会出现一工作框,提示输入UNIX用户名:
Digital UNIX (xyw) (ttyp6)
login:
以后的操作就象在UNIX主机终端上操作一样。
二、ftp
ftp是telnet的“近亲”。telnet允许在远程主机上登录并使用其资源,ftp允许在本地计算机与远程主机之间传递文件。ftp是File Transfer Protocal的缩写,意为文件传输协议,它可以将远程UNIX系统上的一个或多个文件拷贝到本地计算机,也可以将本地计算机上的一个或多个文件拷贝到远程UNIX系统上。
(一)基本文件类型
当我们使用ftp时,可简单地把文件分为两大类:文本文件和二进制文件。文本文件也称为ASCII文件,其文件内容遵循ASCII的定义,主要特征如下:ASCII文件由若干行组成;可以用操作系统显示和编辑命令来显示和编辑ASCII文件内容。二进制文件(Binary File)是指除ASCII文件以外的所有文件格式。可惜的是,不同操作系统的ASCII文件格式一般是不兼容的,ftp在不同的操作系统之间进行ASCII文件的传输时,自动进行了格式转换,而对于二进制文件来说,ftp不进行任何转换。
[注意事项]1、 可以将ASCII文件按二进制方式传输,但决不能将二进制文件按ASCII方式传输,否则二进制文件的内容会遭到破坏而无法使用。
2、我们可以用cuteftp、WS_ftp等软件进行ftp,这些ftp软件为图形界面,操作方便,易学易用,应掌握。在这些ftp软件中有auto模式,传输时自动识别二进制和文本文件。
(二)ftp的使用
ftp的一般运行格式如下:
ftp IP地址或域名
以上的IP地址或域名是指远程UNIX主机的IP地址和域名。在本地计算机屏幕上就会出现信息,提示用户输入UNIX的用户名和口令,最后出现ftp提示符:
ftp>以后就可以在此提示符下输入ftp命令。
[注意事项] 在运行ftp之前必须保证本地计算机和远程主机间的TCP/IP协议已经连通。
(三)ftp常用命令
ftp的常用命令和解释列表如下:
ftp命令 解释
?或help [command] 命令帮助
binary 设定以ASCII方式传送文件(缺省值)
ascii 设定以ASCII方式传送文件
cd [directory[ 改变远程目录
pwd 列出当前远端主机目录
dir [r-dir] [l-file] 显示远程目录内容,r-dir表示远程目录,l-file表示本地文件。如果有本地文件,就将结果写至本地文件
ls [r-dir] [l-file] 同dir,只是显示格式不同
lcd [directory] 改变本地目录
put file1 [file2] 将本地file1文件拷贝到远程file2
get file1 [fine2] 将远程file1文件拷贝到本地file2
mput files 将本地多个文件files拷贝到远程
mget files 将远程多个文件files拷贝到本地
status 显示当前FTP状态
!command 执行本地命令,并立即返回FTP
open IP地址或域名 重新建立新的连接
close 关闭远程连接
quit或bye 退出ftp
(四)ftp实例
假设远程主机的IP地址为129.6.114.201,操作系统为SCO UNIX,本地计算机为PC机,操作系统为DOS,且ftp客户端程序放在C:\FTP目录下。
[例1] 将本地计算机C:\TEMP目录下的file1.zip拷贝到远程主机的/usr/abc目录下。
命令如下:
c:
cd \ftp
C:\FTP>ftp 129.6.114.201
输入用户名和口令
ftp> binary
ftp> lcd c:\temp
ftp> cd /usr/abc
ftp> put file1.zip
ftp> close
ftp> quit
C:\FTP>
[例2] 将本地计算机C::\TEMP目录下的所有文件拷贝到远程主机的/usr/abc目录下。
命令:将第1题的
ftp> put file1.zip
改为:
ftp> mput *.*
其它不变。
[例3] 将远程主机的/usr/abc/txt目录下的file2文本文件拷贝到本地计算机C::\TEMP\TXT目录下。
命令如下:
c:
cd \ftp
C:\FTP>ftp 129.6.114.201
输入用户名和口令
ftp> ascii 或asc
ftp> lcd c:\temp\txt
ftp> cd /usr/abc/txt
ftp> get file2
ftp> close 或bye
ftp> quit
C:\FTP>
[例4] 将远程主机的/usr/abc/txt目录下的所有文件按文本文件格式拷贝到本地计算机C::\TEMP\TXT目录下。
命令:将第3题的
ftp> get file2
改为:
ftp> mget *.*,其它不变。
9.5 网络、主机和路由参数设置
本节介绍了UNIX上的网络、主机和路由参数设置。在进行网络(主机)地址设置时一般用到/etc目录下三个文本文件:networks、hosts、gateways,分别存放网络、主机、路由列表。
在SCO UNIX5.X中可以用scoadmin命令,进入菜单模式:选择“network”选项进行设置。或者在GUI下进入“system administration --->networks”下进行设置。
在HPUX中可以用sam命令,进入菜单模式:对网络属性进行配置。
一、/etc/networks文件
/etc/networks文件存放网络列表,一般把所用到的网络号都放到此表。此文件每行表示一个网络,由以下三个域构成:
name number aliases
这里,
name 表示网络的正式名称
number 表示网络号,把IP地址中的主机地址去掉就是网络号
aliases 表示网络别名,若有多个别名,用空格分开
# 表示注释
/etc/networks内容举例:
loopback 127
huawei 129.9 #Huawei Tech. Co. Ltd.
training 129.6 peixun qqsj #Training Center
其中,第一行,loopback是网络名,它的网络号是127(A类地址);第二行,huawei是网络名,它的网络号是“129.9”(B类地址), “#Huawei Tech. Co. Ltd.”是注释;第三行,training是网络名,它的网络号是“129.6”,它的别名有两个:peixun和qqsj,“#Training Center”是注释。
二、/etc/hosts文件
/etc/hosts文件存放主机列表,一般把所用到的主机号都放到此表,该主机可以不在同一个网络上。此表每行表示一个主机,由以下三个域构成:
address name aliases
这里,
address 表示主机IP地址
name 表示主机的正式名称
aliases 表示主机别名,若有多个别名,用空格分开
# 表示注释
建议将hostname和node name(参见UNIX的hostname和uname命令)作为主机名或别名。
/etc/hosts内容举例:
127.0.0.1 localhost
129.6.114.201 xyw01.huawei.com.cn xyw01 intess114
129.6.114.202 xyw02.huawei.com.cn xyw02 intess112
129.6.0.1 px_hw_r #Router to huawei
129.7.10.21 lihong #Li Hong
129.9.6.218
www.huawei.com.cn
其中,第一列,“127.0.0.1”、“129.6.114.201”等是IP地址; 第二列,“localhost”、“xyw01.huawei.com.cn”、“xyw02.huawei.com.cn”等是主机名称; 其它,“xyw01”、“intess114”、“xyw02”、“intess114”是别名, “#Router”是注释。
三、/etc/gateways文件
/etc/gateways文件存放网关列表,每行表示一个网关参数,由以下域构成:
name1 gateway name2 metric value
这里,
net,host 表示路由指向网络还是指向某一特定主机,net和host为关键字
name1 目的网络名或主机名(或IP地址)
gateway 关键字
name2 网关名或网关IP地址
metric 关键字
value 表示表示到目的网络或主机的hop计数值
passive 关键字,表示被动方式,路由器不交换路由信息
active 关键字,表示主动方式,路由器交换路由信息
external 关键字,表示外部方式,其它进程已安装了路由
# 表示注释
表示只能选net和host两个关键字中的其中一个,
表示只能选其中一个关键字。
/etc/gateways 内容举例:
net huawei gateway px_hw_r metric 1 passive
host lihong gateway px_xx_r metric 1 passive
其中,huawei是目的网络名(在/etc/networks中定义),px_hw_r是路由器名,lihong是目的主机名(在/etc/hosts中定义),px_xx_r是路由器名。当然,以上所有名称均可用网络号或IP地址代替:
net 129.9 gateway 129.6.0.1 metric 1 passive
host 129.7.10.21 gateway 129.6.0.2 metric 1 passive
四、设置步骤
(1) 以root用户登录UNIX
(2) 查看/etc目录下hosts、networks和gateways文件是否存在,若不存在创建之
(3) 修改三文件内容,确保参数正确,注意三文件参数之间的关系
(4) 对内核进行重新连接(对于SCO UNIX可运行sysadmsh选system->kernal->relink)
(5) 运行reboot重新启动UNIX
五、测试
假设本服务器的IP地址为129.6.114.201, /etc目录下的hosts、networks和gateways文件的内容为以上1、2和3中的实例参数。这里用UNIX的ping命令进行测试。
(一) 同一网络内测试
ping 129.6.114.201 自身测试,查看IP协议是否已经驱动
ping intess114 自身测试,查看hosts设置是否正确
ping xyw02 本网络是否通
ping px_hw_r 路由器是否连上
(二)网间测试
ping 129.9.6.218 测试/etc/networks和/etc/gateways,以及路由器
ping
www.huawei.com.cn
测试三文件
QUOTE:
本章小结:
UNIX使用最广泛的原因之一就是它的联网功能。TCP/IP是UNIX的缺省网络协议。
用finger命令来显示正在使用UNIX系统的用户信息。
本章介绍了用mail命令收发电子邮件。
telnet和ftp用于远程登录和文件拷贝。
最后介绍了/etc/目录下的networks、hosts、gateways三文件的格式和设置