国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

UNIX 網絡分析

瀏覽:115日期:2024-06-07 17:25:36

開始之前

本教程面向有以下需求的 Unix 系統管理員:他們需要找到一些方法來發現和判斷有關其網絡結構和配置的信息,包括各個機器上允許的服務和系統有哪些。要從本教程獲得最大的收益,您應當具有 UNIX 操作系統的基本知識,以及基本了解網絡和 Internet 協議 (IP) 的運作方式。

關于本教程

在訪問一個 UNIX 系統時,甚至是了解現有系統時,有關系統如何運行的一個關鍵部分就是網絡配置。您需要清楚并了解網絡的許多方面,以便正確地識別問題并防患于未然。通過使用一些基本的工具和命令,可以確定單個系統的大量配置,理解了這些知識后,就可以很好地確定網絡其余部分的配置。通過一些額外的工具,可以將知識擴展到網絡中的更多的系統和服務。

在本教程中,您將在 UNIX 環境中使用一些基本的工具,挖掘有關系統配置的信息。通過理解這些工具并使用它們獲得的信息,您將能夠更好地理解系統網絡配置和它的工作原理。您還將研究可以涵蓋更廣泛網絡的工具和解決方案,獲得有關網絡的更詳細的信息、其潛在的安全問題,這有助于找出和診斷問題的關鍵信息點。

理解主機的網絡配置

要更好地理解網絡,第一步是理解當前使用的機器的網絡配置。這將為您提供許多參考基準,比如當前主機的 IP 地址、DNS 配置以及可以連接并與之通信的其他機器。

查找配置信息

確定正在使用的機器的當前配置可以使您獲得對環境的基本了解。您的第一個任務是確定當前機器的 IP 地址和網絡掩碼(mask)。通過這兩個值,可以確定機器的地址,以及可以與之直接在網絡上建立連接的其他機器(比如,不需要使用路由器)。

在確定 IP 地址之前,通過使用 hostname 命令獲得系統的主機名(參見清單 1)。

清單 1. 獲得主機名

$ hostnamesulaco

在選擇 -a 選項時,ifconfig 命令將顯示所有已配置的網絡設備的當前配置信息。例如,清單 2 展示了 ifconfig 命令在一臺 Solaris 機器上的輸出。

清單 2. ipconfig 在 Solaris 上的輸出

$ ifconfig -alo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1inet 127.0.0.1 netmask ff000000 pcn0: flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS> mtu 1500 index 2inet 192.168.1.25 netmask fffffc00 broadcast 192.168.3.255lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1inet6 ::1/128 pcn0: flags=202004841<UP,RUNNING,MULTICAST,DHCP,IPv6,CoS> mtu 1500 index 2inet6 fe80::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 系統的輸出

eth0 Link encap:Ethernet HWaddr 00:1d:60:1b:9a:2d  inet addr:192.168.0.2 Bcast:192.168.3.255 Mask:255.255.252.0 inet6 addr: fe80::21d:60ff:fe1b:9a2d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2371085881 errors:36 dropped:0 overruns:0 frame:36 TX packets:2861233776 errors:0 dropped:0 overruns:0 carrIEr:0 collisions:0 txqueuelen:1000  RX bytes:913269364222 (850.5 GiB) TX bytes:3093820025338 (2.8 TiB) Interrupt:23 Base address:0x4000 loLink encap:Local Loopback  inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:279755697 errors:0 dropped:0 overruns:0 frame:0 TX packets:279755697 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0  RX bytes:388038389807 (361.3 GiB) TX bytes:388038389807 (361.3 GiB)

清單 4 展示了 Mac OS X™ 系統的輸出。

清單 4. Mac OS X 系統的輸出

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280stf0: flags=0<> mtu 1280en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500inet 192.168.0.101 netmask 0xfffffc00 broadcast 192.168.3.255ether 00:16:cb:a0:3b:cb media: autoselect (1000baseT <full-duplex,flow-control>) status: activesupported media: autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex> 10baseT/UTP <full-duplex,hw-loopback> 10baseT/UTP <full-duplex,flow-control> 100baseTX <half-duplex> 100baseTX <full-duplex> 100baseTX <full-duplex,hw-loopback> 100baseTX <full-duplex,flow-control> 1000baseT <full-duplex> 1000baseT <full-duplex,hw-loopback> 1000baseT <full-duplex,flow-control> nonefw0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 2030lladdr 00:17:f2:ff:fe:7b:84:d6 media: autoselect <full-duplex> status: inactivesupported media: autoselect <full-duplex>en1: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500ether 00:17:f2:9b:3d:38 media: autoselect (<unknown type>)supported media: autoselecten5: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500inet6 fe80::21c:42ff:fe00:8%en5 prefixlen 64 scopeid 0x7 inet 10.211.55.2 netmask 0xffffff00 broadcast 10.211.55.255ether 00:1c:42:00:00:08 media: autoselect status: activesupported media: autoselecten6: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500inet6 fe80::21c:42ff:fe00:9%en6 prefixlen 64 scopeid 0x8 inet 10.37.129.2 netmask 0xffffff00 broadcast 10.37.129.255ether 00:1c:42:00:00:09 media: autoselect status: activesupported media: autoselect

在任何情況下,通常都可以找到所連接的網絡設備的 Internet 地址和掩碼。顯然,如果擁有多個網絡設備,那么可以在輸出中獲得有關每個設備的信息,并且有可能從一個機器中訪問各種不同的網絡和系統。

查找名稱解析服務

下一步是確定當前機器的配置,這個配置應當與名稱服務系統的配置關聯起來,名稱服務將在您訪問另一臺機器上的服務時將系統的名稱和域名轉換為 IP 地址。

大多數機器上的這一配置是通過 /etc/nsswitch.conf 文件實現的,該文件包含了各種命名服務(主機、用戶等等)以及使用各種服務(DNS、NIS 或本地文件)進行解析的順序。可以參見清單 5。

清單 5. 解析名稱服務系統

passwd: filesgroup: fileshosts: files dns ipnodes:files dnsnetworks:filesprotocols: filesrpc:filesethers: filesnetmasks:filesbootparams: filespublickey: filesnetgroup:filesautomount: filesaliases:filesservices:filesprinters:user filesauth_attr: filesprof_attr: filesproject:filestnrhtp: filestnrhdb: files

例如,在清單 5 中,首先解析主機名信息:在系統中查找本地文件(比如 /etc/hosts),然后再查找域名系統(DNS)。

如果 DNS 已經進行了配置,那么 /etc/resolv.conf 文件將告訴您使用哪些機器來將名稱轉換為 IP 地址。清單 6 展示了一個樣例文件。

清單 6. 哪些機器將名稱轉換為 IP 地址

domain example.prinameserver 192.168.0.2nameserver 192.168.0.3

如果希望直接對機器查詢信息,那么這些信息很有用。可以使用 dig 和 nslookup 等工具提取有關名稱服務和名稱解析以及 IP 地址的信息。

檢查路由

網絡以外的主機(即與當前 IP 地址相比,超出了網絡掩碼的范圍之外)被發送到一個路由器,從路由器轉發到另一臺機器。路由器可以在任何一級網絡上使用,包括部門之間、不同物理位置,以及 Internet 之類的公共和外部站點。

netstat 命令將告訴您,當您的機器希望與 “本地 網絡以外的機器通信時,將與那些機器或路由器建立聯系。例如,下面的清單 7 來自于一臺 Solaris 機器。

清單 7. netstat 命令

$ netstat -rRouting 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 lo0Routing 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 nfstcp0 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 ESTABLISHEDtcp1 0 bear.example.pri:nfs sulaco.example.p:59172 CLOSE_WAIT tcp0 0 bear.example.pri:nfs sulaco.example.p:65320 ESTABLISHEDtcp1 0 bear.example.pri:nfs sulaco.example.p:53877 CLOSE_WAIT udp0 0 *:nfs*:*

也可以使用這個輸出查看哪些機器目前正在和這臺機器通信。例如,可以提取一個與這臺機器建立連接的機器列表,方法是查看第 5 列,進行排序并從列表中移除重復的內容(參見清單 10)。

清單 10. 提取一個已建立連接的機器列表

$ netstat -a|egrep 'tcp|udp'|grep ESTABLISHED|awk '{ print $5; }'|cut -d: -f1|sort|uniqlocalhostnarcissus.mcslp.pnautilus.wirelesspolarbear.wirelesSolaris2.vmbear.mcssulaco.mcslp.pri

如果懷疑有未知的或不希望的用戶或計算機連接到這臺機器上,那么這些信息十分有用。

要查找關于其他機器的信息,需要查看網絡上的其他計算機。

查找有關其他主機的信息

獲得了有關您的機器的基本信息后,可以進一步查看網絡中的其他機器,從而判斷它們的可用性和提供的服務。通過使用正確的工具,甚至可以確定這些機器正在運行的操作系統和它們可能共享的服務。

檢查主機

檢查遠程機器的最簡單也是最明顯的工具就是使用 ping 工具查看某個特定主機是否啟動并且可用。ping 工具執行一些非常簡單的操作。它將一個數據包發送給遠程主機來請求一個響應。當接收到響應后,ping 工具將計算時間差異,發送并接收包所用的時間可以表明某臺機器與 ping 工具當前位置的距離的遠近。

例如,如果 ping 您的網絡中的某臺機器,那么很可能很快就會得到 ping 包的響應(參見清單 11)。

清單 11. ping 自己的網絡中的機器

$ ping bearPING bear.mcslp.pri (192.168.0.2): 56 data bytes64 bytes from 192.168.0.2: icmp_seq=0 ttl=64 time=0.154 ms64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.162 ms64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.149 ms64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.161 ms64 bytes from 192.168.0.2: icmp_seq=4 ttl=64 time=0.162 ms64 bytes from 192.168.0.2: icmp_seq=5 ttl=64 time=0.161 ms^C--- bear.mcslp.pri ping statistics ---6 packets transmitted, 6 packets received, 0% packet lossround-trip min/avg/max/stddev = 0.149/0.158/0.162/0.005 ms

ping 工具的不同實現使用不同的工作方式。在 Linux 和 Mac OS X 上,此工具在默認情況下將不斷發送包并等待響應,直到使用 Control-C 強制應用程序終止。

在 Solaris™、AIX® 和其他一些 Unix 版本中,ping 工具僅僅表示遠程主機是否發出響應(參見清單 12),而沒有其他進一步的動作。

清單 12. 在 UNIX 系統上僅執行 Ping 操作

$ ping bearbear is alive

要執行更長的測試,使用 -s 選項,如清單 13 所示。

清單 13. 使用 -s 選項執行 ping

$ ping -s bearPING bear: 56 data bytes64 bytes from bear.mcslp.pri (192.168.0.2): icmp_seq=0. time=0.288 ms64 bytes from bear.mcslp.pri (192.168.0.2): icmp_seq=1. time=0.247 ms64 bytes from bear.mcslp.pri (192.168.0.2): icmp_seq=2. time=0.208 ms64 bytes from bear.mcslp.pri (192.168.0.2): icmp_seq=3. time=0.230 ms^C----bear PING Statistics----4 packets transmitted, 4 packets received, 0% packet lossround-trip (ms) min/avg/max/stddev = 0.208/0.243/0.288/0.034

每一行的 time 字段表示每個包的速度和延遲(發出響應之前的延遲,通常表示活動的級別)。當停止輸出時,將獲得所發送和接收的包的數量的匯總和時間統計數據。

ping 包所需傳遞的距離越遠,從遠程主機獲得的響應時間越長。例如,如果嘗試 ping Internet 中的一個公共服務器,那么獲取響應包的時間將會顯著增加(參見清單 14)。

清單 14. ping Internet 中的一個公共服務器

$ ping www.example.comPING www.example.com (67.205.21.169) 56(84) bytes of data.64 bytes from mcslp.com (67.205.21.169): icmp_seq=1 ttl=44 time=193 ms64 bytes from mcslp.com (67.205.21.169): icmp_seq=2 ttl=44 time=194 ms64 bytes from mcslp.com (67.205.21.169): icmp_seq=3 ttl=44 time=197 ms64 bytes from mcslp.com (67.205.21.169): icmp_seq=4 ttl=44 time=194 ms^C--- www.example.com ping statistics ---4 packets transmitted, 4 received, 0% packet loss, time 3039msrtt min/avg/max/mdev = 193.737/195.120/197.123/1.353 ms

將這個連接到 Internet 服務所需的時間(193 毫秒)與連接本地主機所需時間(0.23 毫秒)進行比較。

ping 工具還可以快速判斷您是否能夠到達您希望連接到的遠程主機。在實際上不存在的主機上運行 ping 將返回一個非常具體的錯誤(參見清單 15)。

清單 15. 在實際上不存在的主機上運行 ping

$ ping notinherePING notinhere (192.168.0.110) 56(84) bytes of data.>From bear.mcslp.pri (192.168.0.2) icmp_seq=1 Destination Host Unreachable>From bear.mcslp.pri (192.168.0.2) icmp_seq=2 Destination Host Unreachable>From bear.mcslp.pri (192.168.0.2) icmp_seq=3 Destination Host Unreachable^C--- notinhere ping statistics ---5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4039ms

標簽: Unix系統
主站蜘蛛池模板: 国产成a人片在线观看视频 国产成版人视频网站免费下 | 亚洲人成网址在线播放a | 一本色道久久88综合亚洲精品高清 | 欧美一级特黄特黄毛片 | 久久久久久久99视频 | 国产原创91| 中国国产一国产一级毛片视频 | 亚欧视频在线观看 | 国产91香蕉| 日韩精品一区二区三区在线观看l | 亚洲国产高清在线精品一区 | 日本不卡在线一区二区三区视频 | freesex寂寞老妇hd | 欧美久久一区二区 | 日韩中文字幕视频在线 | 一道精品视频一区二区三区图片 | 综合久久久久久 | 亚洲午夜久久久久影院 | 日本xxxxxxx69xx| 黄色在线视频网 | 日韩免费一级毛片欧美一级日韩片 | 九九99九九在线精品视频 | 久久色精品 | 成人免费午夜视频 | 国产成人一区在线播放 | 最新精品亚洲成a人在线观看 | 一区二区在线看 | 国产免费麻豆 | 国产91色综合久久免费 | 久久久久一区二区三区 | 男人使劲躁女人视频小v | 三级网站在线免费观看 | 国产精品黄在线观看免费 | 一级做a爰片性色毛片中国 一级做a爰性色毛片 | 无码免费一区二区三区免费播放 | 亚洲欧美日韩专区 | 欧美性色黄大片www 欧美性色黄大片一级毛片视频 | 欧美精品xx | 一本色道久久综合亚洲精品高清 | 深夜成人性视频免费看 | 亚洲一级毛片中文字幕 |