導航:首頁 > 程序命令 > unix查看埠命令

unix查看埠命令

發布時間:2025-07-13 21:40:41

linux下查看埠命令

LINUX網路性能之管理工具三劍客

本文是介紹管理Linux系統網路性能技巧的文章,主要介紹了route、netstat、tcpmp三種網路管理測試工具的使用方法及其可實現的功能。

route

在配置網路時,要為機器指定接收數據包時該包要經過的路徑。在Linux系統中,提供一個命令route,這個命令可以為ifconfig命令配置的網卡設置靜態路由。這種設置工作通常在/etc/rc.d/rc.inet1中引入,在系統引導時進行。

我們通過幾個例子來說明如何使用route命令:

route add -net 127.0.0.0

這個命令將向路由表中添加一個指定地址或者網路的路由。注意此時網路為A類地址,掩碼被設置為255.0.0.0,這個新添加的條目被連接到lo設備上。

route add -net xxx.xxx.xxx.xxx netmask 255.255.255.0 dev eth0

這個命令為IP地址為xxx.xxx.xxx.xxx的主機增加一個路由,它的網路掩碼被設置為255.255.255.0。

route del -net xxx.xxx.xxx.xxx

此命令將刪除xxx.xxx.xxx.xxx這個網路的路由。

使用route命令還可以很方便地對整個網路的路由信息進行管理,其輸出結果是網路的路由表。如下所示:

-----------------------------------------------------------------

[root@lee /root]#route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.10.8.224 * 255.255.255.255 UH 0 0 0 eth0

10.10.8.0 * 255.255.255.0 U 0 0 0 eth0

127.0.0.0 * 255.0.0.0 U 0 0 0 lo

default dgc8.njupt.e 0.0.0.0 UG 0 0 0 eth0

default dgc8.njupt.e 0.0.0.0 UG 1 0 0 eth0

[root@lee /root]#

-----------------------------------------------------------------

輸出結果中各個欄位的含義是:

·Destination表示路由的目標IP地址。

·Gateway表示網關使用的主機名或者是IP地址。上面輸出的"*"表示沒有網關。

·Genmask表示路由的網路掩碼。在把它與路由的目標地址進行比較之前,內核通過Genmask和數據包的IP地址進行按位"與"操作來設置路由。

·Flags是表示路由的標志。可用的標志及其意義是:U表示路由在啟動,H表示target是一台主機,G表示使用網關,R表示對動態路由進行復位設置;D表示動態安裝路由,M表示修改路由,!表示拒絕路由。

·Metric表示路由的單位開銷量。

·Ref表示依賴本路由現狀的其它路由數目。

·Use表示路由表條目被使用的數目。

·Iface表示路由所發送的包的目的網路。

通過查看這些輸出信息,我們就可以方便地管理網路的路由表了。

netstat

netstat命令是一個監控TCP/IP網路的非常有用的工具,它可以顯示路由表、實際的網路連接以及每一個網路介面設備的狀態信息。在計算機上執行netstat後,其輸出結果如下所示:

-----------------------------------------------------------------

[root@lee /root]#netstat

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

Active UNIX domain sockets (w/o servers)

Proto RefCnt Flags Types State I-Node Path

Unix 5 [ ] DGRAM 460 /dev/log

Unix 0 [ ] STREAM CONNECTED 173 @00000014

Unix 0 [ ] DGRAM 662

Unix 0 [ ] DGRAM 631

Unix 0 [ ] DGRAM 544

Unix 0 [ ] DGRAM 484

Unix 0 [ ] DGRAM 470

[root@lee /root]#

-----------------------------------------------------------------

從整體上看,netstat的輸出結果可以分為兩個部分:第一部分:是Active Internet connections,稱為有源TCP連接,在上面的輸出結果中,這一部分沒有內容,表示暫時還沒有TCP連接。第二部分:是Active UNIX domain sockets,稱為有源Unix域套介面。輸出結果顯示的是Unix域套介面的連接情況:

·Proto顯示連接使用的協議。

·RefCnt表示連接到本套介面上的進程號。

·Types顯示套介面的類型。

·State顯示套介面當前的狀態。

·Path表示連接到套介面的其它進程使用的路徑名。

可以用netstat -a來查看所有套接字的狀態,這在您調試網路程序的時候是非常有用的。netstat -r將顯示路由表的內容,一般還要同時指定"-n"選項,這樣可以得到數字格式的地址,也可顯示默認路由器的IP地址。使用netstat -i則將顯示所有的網路介面信息。使用netstat還可以獲得當前的網路狀態以及網路的拓撲結構,這在實際中是非常有用的。

tcpmp

tcpmp命令用於監視TCP/IP連接並直接讀取數據鏈路層的數據包頭。您可以指定哪些數據包被監視、哪些控制要顯示格式。例如我們要監視所有Ethernet上來往的通信,執行下述命令:

tcpmp -i eth0

即使是在一個相對平靜的網路上,也有很多的通信,所以我們可能只需要得到我們感興趣的那些數據包的信息。在一般情況下,TCP/IP棧只為本地主機接收入站的數據包綁定同時忽略網路上的其它計算機編址(除非您使用的是一台路由器)。當運行tcpmp命令時,它會將TCP/IP棧設置為 promiscuous模式。該模式可接收所有的數據包並使其有效顯示。如果我們關心的只是我們本地主機的通信情況,一種方法是使用「-p」參數禁止 promiscuous模式,還有一種方法就是指定主機名:

tcpmp -i eth0 host hostname

此時,系統將只對名為hostname的主機的通信數據包進行監視。主機名可以是本地主機,也可以是網路上的任何一台計算機。下面的命令可以讀取主機hostname發送的所有數據:

tcpmp -i eth0 src host hostname

下面的命令可以監視所有送到主機hostname的數據包:

tcpmp -i eth0 dst host hostname

我們還可以監視通過指定網關的數據包:

tcpmp -i eth0 gateway Gatewayname

如果你還想監視編址到指定埠的TCP或UDP數據包,那麼執行以下命令:

tcpmp -i eth0 host hostname and port 80

該命令將顯示從每個數據包傳出的頭和來自主機hostname對埠80的編址。埠80是系統默認的HTTP服務埠號。如果我們只需要列出送到80埠的數據包,用dst port;如果我們只希望看到返回80埠的數據包,用src port。

閱讀全文

與unix查看埠命令相關的資料

熱點內容
寶馬5系重新編程 瀏覽:294
php計算剩餘時間 瀏覽:889
ktv加密狗有什麼作用 瀏覽:915
文本數據加密H 瀏覽:831
農行app的繳款編碼在哪裡 瀏覽:464
生活的煩惱怎麼解壓呢 瀏覽:218
戴爾07款伺服器怎麼改啟動項 瀏覽:876
javaweb項目源代碼 瀏覽:994
為什麼文件壓縮後再解壓會更小 瀏覽:110
安卓如何進行版本升級 瀏覽:933
游戲源碼商業源碼網站源碼 瀏覽:466
扣丁學堂php搭建教程學習 瀏覽:153
圖模型演算法 瀏覽:250
雲伺服器主機哪裡找啊 瀏覽:340
美國伺服器地址是什麼 瀏覽:768
單片機下料 瀏覽:860
dsp演算法pdf 瀏覽:990
筆記本伺服器地址連接失敗 瀏覽:26
安卓息屏是什麼原因 瀏覽:260
補碼位數進1怎麼變回源碼 瀏覽:287