UNIX 网络分析.docx
- 文档编号:28293431
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:33
- 大小:30.48KB
UNIX 网络分析.docx
《UNIX 网络分析.docx》由会员分享,可在线阅读,更多相关《UNIX 网络分析.docx(33页珍藏版)》请在冰豆网上搜索。
UNIX网络分析
理解UNIX系统网络配置
通过使用各种不同的工具,您可以深入地了解自己的网络。
如果希望了解网络的布局、数据包的目的地以及操作者,就需要使用不同的工具来帮助您描绘一幅网络结构图,从中了解网络以及将要发生事情。
本教程探讨了一些技巧,可以帮助监视UNIX®网络的通信量和内容,以及在网络上发现和诊断问题。
开始之前
本教程面向有以下需求的UNIX系统管理员:
他们需要找到一些方法来发现和判断有关其网络结构和配置的信息,包括各个机器上允许的服务和系统有哪些。
要从本教程获得最大的收益,您应当具有UNIX操作系统的基本知识,以及基本了解网络和Internet协议(IP)的运作方式。
关于本教程
在访问一个UNIX系统时,甚至是了解现有系统时,有关系统如何运行的一个关键部分就是网络配置。
您需要清楚并了解网络的许多方面,以便正确地识别问题并防患于未然。
通过使用一些基本的工具和命令,可以确定单个系统的大量配置,理解了这些知识后,就可以很好地确定网络其余部分的配置。
通过一些额外的工具,可以将知识扩展到网络中的更多的系统和服务。
在本教程中,您将在UNIX环境中使用一些基本的工具,挖掘有关系统配置的信息。
通过理解这些工具并使用它们获得的信息,您将能够更好地理解系统网络配置和它的工作原理。
您还将研究可以涵盖更广泛网络的工具和解决方案,获得有关网络的更详细的信息、其潜在的安全问题,这有助于找出和诊断问题的关键信息点。
回页首
理解主机的网络配置
要更好地理解网络,第一步是理解当前使用的机器的网络配置。
这将为您提供许多参考基准,比如当前主机的IP地址、DNS配置以及可以连接并与之通信的其他机器。
查找配置信息
确定正在使用的机器的当前配置可以使您获得对环境的基本了解。
您的第一个任务是确定当前机器的IP地址和网络掩码(mask)。
通过这两个值,可以确定机器的地址,以及可以与之直接在网络上建立连接的其他机器(比如,不需要使用路由器)。
在确定IP地址之前,通过使用hostname命令获得系统的主机名(参见清单1)。
清单1.获得主机名
$hostname
sulaco
在选择 -a 选项时,ifconfig命令将显示所有已配置的网络设备的当前配置信息。
例如,清单2展示了ifconfig命令在一台Solaris机器上的输出。
清单2.ipconfig在Solaris上的输出
$ifconfig-a
lo0:
flags=2001000849
inet127.0.0.1netmaskff000000
pcn0:
flags=201004843
mtu1500index2
inet192.168.1.25netmaskfffffc00broadcast192.168.3.255
lo0:
flags=2002000849
inet6:
:
1/128
pcn0:
flags=202004841
inet6fe80:
:
20c:
29ff:
fe7f:
dc5/10
从这个输出中可以看到,有一个回路(loopback)设备lo0,本地主机的地址为127.0.0.1。
还可以看到,这个设备还有一个等效的IPv6地址。
pcn0设备的配置如下:
网络地址为192.168.1.25,网络掩码为fffffc00,相当于255.255.252.0。
可以看到,在这里地址是使用DHCP设置的(从DHCP标记列表)。
网络掩码非常重要,只要知道了网络掩码,就可以知道所在网络的大小(通过注册的IP地址)。
在本例中,255.255.252.0等同于4类C地址,因为256(最大主机数)减去252(使用了掩码的主机数)等于4。
通过同时使用掩码和配置后的IP地址,可以推测出本地网络中IP地址的范围。
由于IP区块通常按照完整的组进行划分,并且是按顺序进行的,因此可以推测出整个网络中分布的IP地址的范围为从192.168.0.0到192.168.3.255。
您可以得出这一结论,因为使用4类C地址,您通常会将整个范围(192.168.0.0-192.168.255.255)划分为相等的区块——其中地址前缀192.168.1.x必须位于4个地址中的第一个区块中。
不同的操作系统使用不同的方式输出信息(和细节)。
清单3展示了一个Linux®系统的输出。
清单3.Linux系统的输出
eth0Linkencap:
EthernetHWaddr00:
1d:
60:
1b:
9a:
2d
inetaddr:
192.168.0.2Bcast:
192.168.3.255Mask:
255.255.252.0
inet6addr:
fe80:
:
21d:
60ff:
fe1b:
9a2d/64Scope:
Link
UPBROADCASTRUNNINGMULTICASTMTU:
1500Metric:
1
RXpackets:
2371085881errors:
36dropped:
0overruns:
0frame:
36
TXpackets:
2861233776errors:
0dropped:
0overruns:
0carrier:
0
collisions:
0txqueuelen:
1000
RXbytes:
913269364222(850.5GiB)TXbytes:
3093820025338(2.8TiB)
Interrupt:
23Baseaddress:
0x4000
loLinkencap:
LocalLoopback
inetaddr:
127.0.0.1Mask:
255.0.0.0
inet6addr:
:
:
1/128Scope:
Host
UPLOOPBACKRUNNINGMTU:
16436Metric:
1
RXpackets:
279755697errors:
0dropped:
0overruns:
0frame:
0
TXpackets:
279755697errors:
0dropped:
0overruns:
0carrier:
0
collisions:
0txqueuelen:
0
RXbytes:
388038389807(361.3GiB)TXbytes:
388038389807(361.3GiB)
清单4展示了MacOSX™系统的输出。
清单4.MacOSX系统的输出
lo0:
flags=8049
inet6fe80:
:
1%lo0prefixlen64scopeid0x1
inet127.0.0.1netmask0xff000000
inet6:
:
1prefixlen128
gif0:
flags=8010
stf0:
flags=0<>mtu1280
en0:
flags=8863
inet192.168.0.101netmask0xfffffc00broadcast192.168.3.255
ether00:
16:
cb:
a0:
3b:
cb
media:
autoselect(1000baseT
active
supportedmedia:
autoselect10baseT/UTP
fw0:
flags=8822
lladdr00:
17:
f2:
ff:
fe:
7b:
84:
d6
media:
autoselect
inactive
supportedmedia:
autoselect
en1:
flags=8822
ether00:
17:
f2:
9b:
3d:
38
media:
autoselect(
supportedmedia:
autoselect
en5:
flags=8963
inet6fe80:
:
21c:
42ff:
fe00:
8%en5prefixlen64scopeid0x7
inet10.211.55.2netmask0xffffff00broadcast10.211.55.255
ether00:
1c:
42:
00:
00:
08
media:
autoselectstatus:
active
supportedmedia:
autoselect
en6:
flags=8963
inet6fe80:
:
21c:
42ff:
fe00:
9%en6prefixlen64scopeid0x8
inet10.37.129.2netmask0xffffff00broadcast10.37.129.255
ether00:
1c:
42:
00:
00:
09
media:
autoselectstatus:
active
supportedmedia:
autoselect
在任何情况下,通常都可以找到所连接的网络设备的Internet地址和掩码。
显然,如果拥有多个网络设备,那么可以在输出中获得有关每个设备的信息,并且有可能从一个机器中访问各种不同的网络和系统。
查找名称解析服务
下一步是确定当前机器的配置,这个配置应当与名称服务系统的配置关联起来,名称服务将在您访问另一台机器上的服务时将系统的名称和域名转换为IP地址。
大多数机器上的这一配置是通过/etc/nsswitch.conf文件实现的,该文件包含了各种命名服务(主机、用户等等)以及使用各种服务(DNS、NIS或本地文件)进行解析的顺序。
可以参见清单5。
清单5.解析名称服务系统
passwd:
files
group:
files
hosts:
filesdns
ipnodes:
filesdns
networks:
files
protocols:
files
rpc:
files
ethers:
files
netmasks:
files
bootparams:
files
publickey:
files
netgroup:
files
automount:
files
aliases:
files
services:
files
printers:
userfiles
auth_attr:
files
prof_attr:
files
project:
files
tnrhtp:
files
tnrhdb:
files
例如,在清单5中,首先解析主机名信息:
在系统中查找本地文件(比如/etc/hosts),然后再查找域名系统(DNS)。
如果DNS已经进行了配置,那么/etc/resolv.conf文件将告诉您使用哪些机器来将名称转换为IP地址。
清单6展示了一个样例文件。
清单6.哪些机器将名称转换为IP地址
domainexample.pri
nameserver192.168.0.2
nameserver192.168.0.3
如果希望直接对机器查询信息,那么这些信息很有用。
可以使用dig和nslookup等工具提取有关名称服务和名称解析以及IP地址的信息。
检查路由
网络以外的主机(即与当前IP地址相比,超出了网络掩码的范围之外)被发送到一个路由器,从路由器转发到另一台机器。
路由器可以在任何一级网络上使用,包括部门之间、不同物理位置,以及Internet之类的公共和外部站点。
netstat命令将告诉您,当您的机器希望与“本地”网络以外的机器通信时,将与那些机器或路由器建立联系。
例如,下面的清单7来自于一台Solaris机器。
清单7.netstat命令
$netstat-r
RoutingTable:
IPv4
DestinationGatewayFlagsRefUseInterface
---------------------------------------------------------------------
defaultvoyager.example.priUG1139pcn0
192.168.0.0solaris2.example.priU1447pcn0
solaris2solaris2UH135lo0
RoutingTable:
IPv6
Destination/MaskGatewayFlagsRefUseIf
--------------------------------------------------------------------------
fe80:
:
/10fe80:
:
20c:
29ff:
fe7f:
dc5U10pcn0
solaris2solaris2UH10lo0
默认路由显示,网关(路由器)过去路由的数据包可以是在当前网络之外的,或者是还没有被另一个路由针对特定IP地址或IP地址范围进行转换的。
由于可能需要在当前名称服务不可用或者没有返回正确信息的情况下确定这些消息,您还可以指定-n选项来使用IP地址而不是名称来显示信息。
检查受支持的服务
netstat命令也可用于确定在当前主机上被共享和公开的服务有哪些。
这包括所有网络服务、包括DNS、NFS、Web服务和其他信息。
显示的信息基于打开的并正在“侦听”客户机连接的端口,或已经打开并且与客户机进行通信的端口。
这些信息非常宝贵,它可以确定某个服务是否正在运行,并且可以作为标准安全检查的一部分,确定某个机器是否正在共享或公开本身并且带来了更多风险。
可以查看清单8所示的示例输出,这里使用 -a 显示所有打开的端口和服务,它们都已经被建立(公开)并侦听新的连接。
默认情况下,netstat还展示打开的UNIX域socket,它只能由当前机器访问。
考虑到简洁性,这些内容已经从输出中移除。
清单8.使用 -a 的输出
$netstat-a
ActiveInternetconnections(serversandestablished)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp00*:
imaps*:
*LISTEN
tcp00*:
nfs*:
*LISTEN
tcp00*:
vmware-authd*:
*LISTEN
tcp00localhost:
10024*:
*LISTEN
tcp00localhost:
10025*:
*LISTEN
tcp00*:
mysql*:
*LISTEN
tcp00*:
imap*:
*LISTEN
tcp00localhost:
783*:
*LISTEN
tcp00*:
sunrpc*:
*LISTEN
tcp00bear.example.pri:
http*:
*LISTEN
tcp00*:
cisco-sccp*:
*LISTEN
tcp00*:
47506*:
*LISTEN
tcp00*:
34452*:
*LISTEN
tcp00172.16.217.1:
domain*:
*LISTEN
tcp00192.168.92.1:
domain*:
*LISTEN
tcp00bear.example.pri:
domain*:
*LISTEN
tcp00localhost:
domain*:
*LISTEN
tcp00*:
53941*:
*LISTEN
tcp00*:
3128*:
*LISTEN
tcp00localhost:
rndc*:
*LISTEN
tcp00*:
smtp*:
*LISTEN
tcp00bear.example.pri:
imapsulaco.example.p:
65452ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65459ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65412ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65417ESTABLISHED
tcp00bear.example.pri:
mysqbear.example.pri:
35475TIME_WAIT
tcp00bear.example.pri:
httpsulaco.example.p:
49603FIN_WAIT2
tcp00bear.example.pri:
nfssulaco.example.p:
49552ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65433ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65431ESTABLISHED
tcp10bear.example.pri:
nfssulaco.example.p:
51900CLOSE_WAIT
tcp00bear.example.pri:
imapsulaco.example.p:
65415ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65475ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65472ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65429ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65430ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65438ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65443ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65418ESTABLISHED
tcp00bear.example.pri:
nfsnarcissus.exampl:
62968ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65448ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65423ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65468ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65445ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65476ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65453ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65456ESTABLISHED
tcp10bear.example.pri:
nfssulaco.example.p:
59172CLOSE_WAIT
tcp00bear.example.pri:
imapsulaco.example.p:
65416ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65439ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65441ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65446ESTABLISHED
tcp00bear.example.pri:
imapsulaco.example.p:
65470ESTABLISHED
tcp00bear.ex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UNIX 网络分析