Linux常用網路指令

2021-06-07 03:48:08 字數 4582 閱讀 4698

手動/自動設定與啟動/關閉 ip 引數: ifconfig, ifup, ifdown

一般來說,直接輸入 ifconfig 就會列出目前已經被啟動的卡,不論這個卡是否有給予 ip,都會被顯示出來。而如果是輸入 ifconfig eth0,則僅會秀出這張介面的相關資料, 而不管該介面是否有啟動。所以如果你想要知道某張網路卡的 hardware address,直接輸入『 ifconfig "網路介面代號" 』即可喔! ^_^!至於上表出現的各項資料是這樣的(資料排列由上而下、由左而右):

 eth0:就是網路卡的代號,也有 lo 這個 loopback ;

 hwaddr:就是網路卡的硬體位址,俗稱的 mac 是也;

 inet addr:ipv4 的 ip 位址,後續的 bcast, mask 分別代表的是 broadcast 與 netmask 喔!

 inet6 addr:是 ipv6 的版本的 ip ,我們沒有使用,所以略過;

 rx:那一行代表的是網路由啟動到目前為止的封包接收情況, packets 代表封包數、errors 代表封包發生錯誤的數量、 dropped 代表封包由於有問題而遭丟棄的數量等等

 tx:與 rx 相反,為網路由啟動到目前為止的傳送情況;

 collisions:代表封包碰撞的情況,如果發生太多次, 表示你的網路狀況不太好;

 txqueuelen:代表用來傳輸資料的緩衝區的儲存長度;

 rx bytes, tx bytes:總接收、傳送位元組總量

實時的手動修改一些網路介面引數,可以利用 ifconfig 來達成,如果是要直接以配置檔案, 亦即是在 /etc/sysconfig/network-scripts 裡面的 ifcfg-ethx 等檔案的設定引數來啟動的話, 那就得要透過 ifdown 或 ifup 來達成了。

路由修改: route

一般來說,只要有網路介面, 該介面就會產生乙個路由,所以我們安裝的主機有乙個 eth0 的介面,看起來就會是這樣:

網路引數綜合指令: ip

無線網路: iwlist, iwconfig

這兩個指令你必須要有無線網絡卡才能夠進行喔!這兩個指令的用途是這樣的:

 iwlist:利用無線網絡卡進行無線 ap 的偵測與取得相關的資料;

 iwconfig:設定無線網絡卡的相關引數。

手動使用 dhcp 自動取得 ip 引數: dhclient

如果你是使用 dhcp 協議在區域網路內取得 ip 的話,那麼是否一定要去編輯 ifcfg-eth0 內的 bootproto 呢? 嘿嘿!有個更快速的作法,那就是利用 dhclient 這個指令~因為這個指令才是真正傳送 dhcp 要求工作的程式啊!那要如何使用呢?很簡單!如果不考慮其他的引數,使用底下的方法即可:

[root@www ~]# dhclient eth0

夠簡單吧!這樣就可以立刻叫我們的網路卡以 dhcp 協議去嘗試取得 ip 喔!

網路除錯與觀察指令

兩部主機兩點溝通: ping

這個 ping 是很重要的指令,ping 主要透過 icmp 封包 來進行整個網路的狀況報告,當然啦,最重要的就是那個 icmp type 0, 8 這兩個型別, 分別是要求回報與主動回報網路狀態是否存在的特性。要特別注意的是, ping 還是需要透過 ip 封包來傳送 icmp 封包的, 而 ip 封包裡面有個相當重要的 ttl 屬性,這是很重要的乙個路由特性。

ping 最簡單的功能就是傳送 icmp 封包去要求對方主機回應是否存在於網路環境中,上面的響應訊息當中,幾個重要的專案是這樣的:

 64 bytes:表示這次傳送的 icmp 封包大小為 64 bytes 這麼大,這是預設值, 在某些特殊場合中,例如要搜尋整個網路內最大的 mtu 時,可以使用 -s 2000 之類的數值來取代;

 icmp_seq=1:icmp 所偵測進行的次數,第一次編號為 1 ;

 ttl=243:ttl 與 ip 封包內的 ttl 是相同的,每經過乙個帶有 mac 的節點 (node) 時,例如 router, bridge 時, ttl 就會減少一,預設的 ttl 為 255 , 你可以透過 -t 150 之類的方法來重新設定預設 ttl 數值;

 time=15.4 ms:響應時間,單位有 ms(0.001秒)及 us(0.000001秒), 一般來說,越小的響應時間,表示兩部主機之間的網路聯機越良好!

兩主機間各節點分析: traceroute

察看本機的網路聯機與後門: netstat

如果你覺得你的某個網路服務明明就啟動了,但是就是無法造成聯機的話,那麼應該怎麼辦? 首先你應該要查詢一下自己的網路介面所監聽的埠口 (port) 來看看是否真的有啟動,因為有時候螢幕上面顯示的 [ok] 並不一定是 ok 啊!

我們先來談一談關於網路聯機狀態的輸出部分,他主要是分為底下幾個大項:

 proto:該聯機的封包協議,主要為 tcp/udp 等封包;

 recv-q:非由使用者程式連線所複製而來的總 bytes 數;

 send-q:由遠端主機所傳送而來,但不具有 ack 標誌的總 bytes 數, 意指主動聯機 syn 或其他標誌的封包所佔的 bytes 數;

 local address:本地端的位址,可以是 ip (-n 引數存在時), 也可以是完整的主機名。使用的格是就是『 ip:port 』只是 ip 的格式有 ipv4 及 ipv6 的差異。 如上所示,在 port 22 的介面中,使用的 :::22 就是針對 ipv6 的顯示,事實上他就相同於 0.0.0.0:22 的意思。 至於 port 25 僅針對 lo 介面開放,意指 internet 基本上是無法連線到我本機的 25 埠口啦!

 foreign address:遠端的主機 ip 與 port number

 stat:狀態列,主要的狀態含有:

o establised:已建立聯機的狀態;

o syn_sent:發出主動聯機 (syn 標誌) 的聯機封包;

o syn_recv:接收到乙個要求聯機的主動聯機封包;

o fin_wait1:該插槽服務(socket)已中斷,該聯機正在斷線當中;

o fin_wait2:該聯機已結束通話,但正在等待對方主機響應斷線確認的封包;

o time_wait:該聯機已結束通話,但 socket 還在網路上等待結束;

o listen:通常用在服務的監聽 port !可使用『 -l 』引數查閱。

基本上,我們常常談到的 netstat 的功能,就是在觀察網路的聯機狀態了,而網路聯機狀態中, 又以觀察『我目前開了多少的 port 在等待客戶端的聯機』以及 『目前我的網路聯機狀態中,有多少聯機已建立或產生問題』最常見。

你可以發現很多的網路服務其實僅針對本機的 lo 開放而已,網際網路是連線不到該埠口與服務的。 而由上述的資料我們也可以看到,啟動 port 111 的,其實就是 rpcbind 那只程式,那如果想要關閉這個埠口, 你可以使用 kill 刪除 pid 969,也可以使用 killall 刪除 rpcbind 這個程式即可。如此一來, 很輕鬆的你就能知道哪個程式啟動了哪些埠口囉!

看到上頭的特殊字型吧?那代表目前已經建立聯機的一條網路聯機,他是由遠端主機 192.168.1.101 啟動乙個大於 1024 的埠口向本地端主機 192.168.1.100 的 port 22 進行的一條聯機, 你必須要想起來的是:『client 端是隨機取乙個大於 1024 以上的 port 進行聯機』,此外『只有 root 可以啟動小於 1024 以下的 port 』

linux網路常用指令

計算機網路的主要優點是能夠實現資源和資訊的共享,並且使用者可以遠端訪問資訊。linux提供了一組強有力的網路命令來為使用者服務,這些工具能夠幫助使用者登入到遠端計算機上 傳輸檔案和執行遠端命令等。本章介紹下列幾個常用的有關網路操作的命令 ftp 傳輸檔案 telnet 登入到遠端計算機上 r 使用各...

linux常用指令

一 查詢狀態類 1 pwd pwd print work directory 顯示當前工作目錄的絕對路徑 2 ls ls list 顯示當前目錄的檔案 二 目錄類 1 cd cd change directory 切換目錄 波浪符號,代表使用者家目錄 cd 返回上乙個目錄 cd 回到自己的家目錄 c...

Linux常用指令

ctrl alt t 開啟終端 sudo su 在終端裡從普通使用者轉換成 root 使用者。su 普通使用者名稱 在終端裡從 root 使用者轉成普通使用者。clear 清除螢幕 mkdir 資料夾名 新建資料夾 rmdir 資料夾名 刪除資料夾 rm f filename 強制刪除乙個檔案 rm...