大多数机器上的这一配置是通过 /etc/nsswitch.conf 文件实现的,该文件包含了各种命名服务(主机、用户等等)以及使用各种服务(DNS、NIS 或本地文件)进行解析的顺序 。可以参见清单 5 。
清单 5. 解析名称服务系统
passwd: files
group: files
hosts: files dns
ipnodes:files dns
networks:files
protocols: files
rpc:files
ethers: files
netmasks:files
bootparams: files
publickey: files
netgroup:files
automount: files
aliases:files
services:files
printers:user files
auth_attr: files
prof_attr: files
project:files
tnrhtp: files
tnrhdb: files
例如,在清单 5 中,首先解析主机名信息:在系统中查找本地文件(比如 /etc/hosts),然后再查找域名系统(DNS) 。
如果 DNS 已经进行了配置,那么 /etc/resolv.conf 文件将告诉您使用哪些机器来将名称转换为 IP 地址 。清单 6 展示了一个样例文件 。
清单 6. 哪些机器将名称转换为 IP 地址
domain example.pri
nameserver 192.168.0.2
nameserver 192.168.0.3
如果希望直接对机器查询信息,那么这些信息很有用 。可以使用 dig 和 nslookup 等工具提取有关名称服务和名称解析以及 IP 地址的信息 。
检查路由
网络以外的主机(即与当前 IP 地址相比,超出了网络掩码的范围之外)被发送到一个路由器,从路由器转发到另一台机器 。路由器可以在任何一级网络上使用,包括部门之间、不同物理位置,以及 Internet 之类的公共和外部站点 。
netstat 命令将告诉您,当您的机器希望与 “本地 网络以外的机器通信时,将与那些机器或路由器建立联系 。例如,下面的清单 7 来自于一台 Solaris 机器 。
清单 7. netstat 命令
$ netstat -r
Routing Table: IPv4
DestinationGatewayFlags Ref Use Interface
-------------------- -------------------- ----- ----- ---------- ---------
default voyager.example.pri UG1139 pcn0
192.168.0.0 solaris2.example.pri U 1447 pcn0
solaris2 solaris2 UH1 35 lo0
Routing Table: IPv6
Destination/MaskGatewayFlags RefUseIf
--------------------------- --------------------------- ----- --- ------- -----
fe80::/10fe80::20c:29ff:fe7f:dc5 U10 pcn0
solaris2solaris2UH 10 lo0
可以从这个输出中看到,机器非常忙碌 。第三列显示了使用冒号分隔的主机名和端口,分别针对每个打开的连接或侦听连接 。如果 TCP 或 UDP 服务号与某个已知的端口号匹配(如 /etc/services 文件中定义的那样),那么服务的名称将被显示在输出中 。对于主机,将显示主机名、备用的 IP 地址或 ‘*’ 符号 。星号表示服务和端口是打开的并且正在侦听所有 IP 地址 。
例如,可以从输出中看到,机器被配置为支持 NFS,并且具有打开的(已经建立的)连接,如清单 9 所示 。
清单 9. 机器被配置为支持 NFS
$ netstat -a|grep nfs
tcp0 0 *:nfs*:* LISTEN
tcp1 0 bear.example.pri:nfs sulaco.example.p:51900 CLOSE_WAIT
tcp0 0 bear.example.pri:nfs narcissus.example.p:62968 ESTABLISHED
tcp1 0 bear.example.pri:nfs sulaco.example.p:59172 CLOSE_WAIT
tcp0 0 bear.example.pri:nfs sulaco.example.p:65320 ESTABLISHED
tcp1 0 bear.example.pri:nfs sulaco.example.p:53877 CLOSE_WAIT
udp0 0 *:nfs*:*
也可以使用这个输出查看哪些机器目前正在和这台机器通信 。例如,可以提取一个与这台机器建立连接的机器列表,方法是查看第 5 列,进行排序并从列表中移除重复的内容(参见清单 10) 。
推荐阅读
- 设置 UNIX 文件系统
- Mio8390各工况用电的测量和分析
- 对话 UNIX: Squirrel--可移植的 shell 和脚本语言
- 跟踪 UNIX 应用程序的解决方案
- UNIX操作系统复杂的关机过程
- Unix文件名与Windows文件名的差异
- Unix中利用转义和引用来管理元字符
- 自动杀死Unix僵死的进程
- 开车什么意思网络用语
- 苹果手机edge网络是什么意思
