Linux中國

你應該知道的 22 個基本的 Linux 網路命令

我們並不是每天都會談論 Linux 的命令行。但正如一些讀者指出的那樣,你們也想學習一些命令行的技巧。

因此,我整理了一份基本的 Linux 網路命令清單,這些命令在我的大學時代幫助了我,讓我對如何在網路方面使用 Linux 有了堅定的認識。

這些命令將幫助你設置網路,以及解決你在 Linux 系統中可能遇到的各種網路問題。

Linux 中的基本網路命令

這個彙編包括了 CLI 實用程序,它們將幫助你排除網路問題、監控數據包和連接的設備,以及更多。

在我展示這些命令的一些細節之前,讓我分享一下我今天要討論的所有命令的簡要概述。

命令 說明
ip 操縱路由來分配和配置網路參數
traceroute 識別數據包到達主機的路徑
tracepath 在追蹤網路主機的路徑時,獲取最大傳輸單元
ping 通常用於檢查主機和伺服器之間的連接情況
ss 獲得有關網路套接字的詳細信息
dig 給出所有關於 DNS 名稱伺服器的必要信息
host 輸出特定域和主機的 IP 地址
hostname 主要用於輸出和更改主機名
curl 在網路上通過各種協議傳輸數據
mtr pingtraceroute 的組合,用於診斷網路
whois 獲取有關註冊的域名、IP 地址、名稱伺服器等信息
ifplugstatus 檢測本地乙太網設備的鏈接狀態
iftop 監視與帶寬有關的統計信息
tcpdump 數據包嗅探和分析工具,用於捕獲、分析和過濾網路流量
ethtool 允許用戶配置乙太網設備
nmcli 用於網路連接的故障排除工具
nmap 主要用於審計網路安全
bmon 開源工具,用於監控實時帶寬
firewalld 配置防火牆規則的 CLI 工具
iperf 測量網路性能和調整的工具
speedtest-cli speedtest.net 的 CLI 工具,用於檢查網速
vnstat 主要用於監控網路流量和帶寬消耗

現在,讓我們用例子和更深入的方式討論它們。

請注意,並不是所有的命令都會預裝。我已經添加了針對 Debian/Ubuntu 的說明。對於其他發行版,請使用你的軟體包管理器進行安裝。

1、ip 命令

ip 命令是最基本的,但也是最重要的,你會發現系統管理員經常使用它,其用於從操縱路由到分配和配置網路參數。

雖然用例可能無窮無盡,但讓我向你展示 ip 命令的最基本用例(尋找 IP 地址)。

ip address

ip address

同樣,你也可以使用 ip 命令來持續監控設備的狀態,請使用 monitor 參數而不是我們之前用來獲取 IP 地址的 address 參數:

ip monitor

ip monitor

2、traceroute

使用 traceroute 命令,你可以確定數據包到達主機的路線。而且,當你想詢問數據包的傳輸情況和數據包所走的跳數時,它可能相當有用。

默認情況下,你的系統可能沒有安裝 traceroute,如果你使用的是 Debian 及派生的發行版(包括 Ubuntu),安裝時只需使用一個命令:

sudo apt install traceroute

例如,追蹤到 google.com 的數據包:

traceroute google.com

traceroute google.com

默認情況下,traceroute 會使用 IPv4,但是你可以通過使用 -6 選項來改變這一行為,該選項將指示 traceroute 使用 IPv6。讓我告訴你怎麼做:

traceroute -6 google.com

3、tracepath

tracepath 命令用於發現 MTU(最大傳輸單元),同時追蹤到網路主機的路徑。它與我上面討論的 traceroute 很相似,但它不需要 sudo 許可權,而且也沒有像它那麼多功能。

但是,首先什麼是 MTU?

MTU 就是可以在網路上傳輸或接收的最大幀或數據包。

現在,讓我們看一下 google.comtracepath 的基本例子:

tracepath google.com

tracepath google.com

同樣,你可以使用 -b 選項同時列印出 IP 地址和主機名。

tracepath -b google.com

tracepath -b google.com

4、ping

ping 命令 數據包網路飛龍探雲手 Packet Internet Groper ?) 可以說是在排除網路故障時最重要的命令之一,因為它是檢查主機和伺服器之間連接情況的最常用方法。

例如,我 ping 谷歌:

ping google.com

ping google.com

這裡,最後一行(min/avg/max)表示從指定的伺服器獲得響應的時間。

如果你得到一個錯誤提示 bash: ping: command not found (LCTT 譯註:不會吧?),你可以查看我們的指南 如何在 Ubuntu 上安裝 Ping

5、ss

ss 套接字統計 socket statistics )命令用於詳細了解網路套接字(在網路上發送和接收數據的端點)。

要列出所有監聽和非監聽的 TCP 連接,你必須使用 -at 選項,如下所示:

ss -at

ss -at

同樣,你可以使用 -au 選項對 UDP 埠進行同樣的操作:

ss -au

ss -au

6、dig

dig 命令 域信息龍爪手 Domain Information Groper ?)用於獲取有關域名的所有必要信息。

要在基於 Ubuntu 的發行版上安裝 dig 工具,請按照給出的命令進行:

sudo apt install dnsutils

現在,讓我告訴你如何獲取一個特定主機的信息,在這個例子中,我將獲取 itsfoss.com 的信息:

dig itsfoss.com

dig itsfoss.com

7、host

host 命令主要用於獲取一個特定主機的 IP 地址,或者你可以從一個特定的 IP 地址獲取主機名。換句話說,它是一個 DNS 查詢工具。

要找到主機的 IP,你只需要在 host 命令中附加主機名。讓我告訴你怎麼做:

host itsfoss.com

host itsfoss.com

同樣,你可以用一個 IP 地址來獲取主機名:

host 8.8.4.4

host 8.8.4.4

8、hostname

如果你已經使用了一段時間的 Linux,你一定很熟悉這個命令,因為這主要是用來 改變你的系統的主機名 和 NIS(網路信息系統)的主機名。

當不使用任何選項時,它可以得到系統當前的主機名。

hostname

hostname

從包含所需主機名的文件中改變主機名是這個工具的另一個有趣的功能:

sudo hostname -F <filename>

sudo hostname -F hostname.txt

9、curl

curl 客戶端 URL Client URL )命令主要用於在網路上傳輸數據,支持各種協議,包括 HTTP、FTP、IMAP 和許多其他協議。

這個工具是首選的自動化工具,因為它是在沒有任何人類互動的情況下工作的,也可以用於端點測試、調試和錯誤記錄。

curl 工具沒有預裝,如果你在任何 Debian 及其派生髮行版上,你只需要使用以下命令進行安裝:

sudo apt install curl

使用 curl 命令 下載文件 非常容易,你只需在 URL 中使用 -O 選項,就可以開始了。

curl -O [URL]

curl -o url

在下載大文件時,進度條會很方便,你可以用 curl-# 選項來顯示進度條。

curl -# -O

10、mtr

它是 pingtraceroute 工具的組合,主要用於網路診斷,並提供網路響應和連接的實時情況。

使用 mtr 的最簡單方法是用它跟上一個主機名或 IP 地址,它將給出一個實時的 traceroute 報告。

mtr [URL/IP]

mtr google.com

如果你想讓 mtr 同時顯示主機名和 IP 地址,你可以把它和 -b 選項配對,如下圖:

mtr -b [URL]

mtr -b

11、whois

whois 可以幫助你找到有關註冊的域名、IP 地址、名稱伺服器等信息,因為它是 whois 目錄服務的客戶端。

這個工具可能沒有預裝在你的設備上,要在基於 Debian/Ubuntu 的發行版上安裝,你可以使用給出的命令:

sudo apt install whois

一般來說,whois 命令是與給出的域名配對使用的:

whois [DomainName]

whois google.com

另外,你也可以用一個 IP 地址來代替域名,你會得到同樣的細節。

12、ifplugstatus

ifplugstatus 是一個最基本的,但也是最有用的工具,足以在基本水平上排除連接問題。它用於檢測本地乙太網的鏈接狀態,其工作方式與 mii-diagmii-toolethtool 類似,支持所有三個 API。

在基於 Debian/Ubuntu 的發行版上安裝,你可以按照給出的命令進行:

sudo apt install ifplugd

這個工具沒有任何花哨的選項,經常不需要與任何配對選項而使用:

ifplugstatus

ifplugstatus

13、iftop

iftop 介面的 top Interface TOP )經常被管理員用來監控與帶寬有關的統計數據,當你遇到網路問題時,也可以作為診斷工具使用。

這個工具需要手動安裝,可以通過給出的命令在運行 Debian/Ubuntu 的機器上輕鬆安裝。

sudo apt install iftop

iftop 在沒有任何選項的情況下使用時,它會顯示默認介面的帶寬統計。

sudo iftop

iftop

你也可以通過在設備名稱後面加上 -i 選項來指定網路設備。

sudo iftop -i <DeviceName>.

在我的例子中,是 enp1s0,所以我的輸出將是如下:

sudo iftop -i enp1s0

14、tcpdump

tcpdump 是一個數據包嗅探和分析工具,用於捕獲、分析和過濾網路流量。它也可以作為一個安全工具使用,因為它將捕獲的數據保存在可以 通過 Wireshark 訪問 的 pcap 文件中。

像許多其他工具一樣,tcpdump 沒有預裝,如果你是在Debian/Ubuntu 上,你可以按照下面的命令進行安裝:

sudo apt install tcpdump

一旦你完成了安裝,你可以獲得當前介面的捕獲數據包,如下所示:

sudo tcpdump

sudo tcpdump

那麼如何將捕獲的數據包保存在 pcap 文件中呢?讓我告訴你怎麼做:

sudo tcpdump -w Captured_Packets.cap -i < networkdevice >

sudo tcpdump -w

要訪問保存的文件,你需要使用 -r 選項加上文件名。

sudo tcpdump -r Captured_Packets.pcap

sudo tcpdump -r filename

15、ethtool

顧名思義,ethtool 工具主要涉及管理乙太網設備。使用這個工具,你可以調整網卡速度、自動協商特性等。

但它可能沒有預裝在你的機器上,可以通過利用給出的命令安裝在 Debian/Ubuntu 機器上:

sudo apt install ethtool

要獲取介面的詳細信息,你只需在命令後面加上設備名稱,如下所示:

sudo ethtool <InterfaceName>

sudo ethtool enp1s0

16、nmcli

作為一個簡單而強大的網路故障排除工具,它是任何系統管理員在排除網路故障時首先使用的工具之一,也可以在腳本中使用。

你可以使用 nmcli 命令來監控設備的連接狀態:

nmcli dev status

nmcli dev status

當不使用任何選項時,它將帶來你系統中所有現有設備的信息:

nmcli

nmcli

17、nmap

nmap 是一個探索和審計網路安全的工具。它經常被黑客和安全愛好者使用,因為它允許你獲得網路的實時信息、連接到你的網路的 IP 的詳細信息、埠掃描,以及更多。

要在基於 Debian/Ubuntu 的發行版上安裝 nmap 工具,請使用給出的命令:

sudo apt install nmap

讓我們開始掃描主機名:

nmap itsfoss.com

nmap itsfoss.com

18、bmon

bmon 是一個開源的工具,用於監測實時帶寬和調試問題,以更人性化的方式呈現統計數據。這個工具最好的部分是圖形顯示,甚至可以在 HTML 中得到你的輸出!

安裝非常簡單,因為 bmon 存在於流行的 Linux 發行版的默認倉庫中,這也包括 Debian/Ubuntu。

sudo apt install bmon

現在,你只需要啟動 bmon,就可以用眼睛愉快地監控帶寬了:

bmon

bmon

19、firewalld

管理防火牆可以說是網路安全的核心部分,這個工具允許你添加、配置和刪除防火牆的規則。

但是 firewalld 需要手動安裝,如果你使用的是基於 Debian/Ubuntu 的發行版,你可以利用給出的命令進行安裝:

sudo apt install firewalld

例如,我將向你展示,如何為公共區域永久地打開 80 埠:

sudo firewall-cmd --permanent --zone=public --add-port=80/tcp

sudo firewall-cmd --permanent --zone=public

同樣,要刪除最近添加的規則,你必須使用 -remove 選項,如下所示:

sudo firewall-cmd --zone=public --remove-port=80/tcp

sudo firewall-cmd --zone=public --remove

20、iperf

iperf 是一個用 C 語言編寫的開源工具,允許用戶進行網路性能測量和調整。

這個工具存在於 Debian/Ubuntu 的默認資源庫中,可以通過給出的命令安裝:

sudo apt install iperf

要開始監控網路,用戶必須通過給出的命令在伺服器上啟動這個客戶端:

iperf -s -u

其中,-s 選項表示伺服器,-u 選項為 UDP 格式。

iperf -s -u

現在,你可以通過提供首選協議的 IP 地址有效載荷連接到你的伺服器(使用 -c 選項表示客戶端)。在這個例子中,我選擇了 UDP(使用 -u 選項),有效載荷為 100:

iperf -c 10.0.2.15 -u 100

iperf -c

21、speedtest-cli

顧名思義,這是 speedtest.net 網站的 CLI 工具。這個在 Apache 2.0 許可下發布的開源工具,當你想從 CLI 獲得一個可靠的 檢查網速 的來源時,會有很大幫助。

安裝非常簡單,如果你是在 Debian/Ubuntu 上,可以利用給出的命令輕鬆安裝:

sudo apt install speedtest-cli

一旦你完成了安裝部分,你只需要使用一行命令即可測試你的速度:

speedtest-cli

speedtest-cli

22、vnstat

vnstat 工具主要被系統管理員用來監控網路流量和帶寬消耗(大部分情況下),因為這個工具可以監控你系統的網路介面的流量。

和其他網路工具一樣,你可以在默認的軟體庫中找到 vnstat,如果你在 Debian/Ubuntu 上,可以通過給出的命令進行安裝:

sudo apt install vnstat

你可以使用 vnstat 命令,不需要任何選項,它將帶來你系統所有可用介面的基本統計信息:

vnstat

vnstat

對於實時監控,你可以將 vnstat 命令與 -l 選項配對。

vnstat -l

一個長長的清單,對嗎?

這個彙編連冰山一角都算不上,只是分享了每個命令的目的和基本例子,因為增加更多的命令會使這個清單變得更長。

流行的但 已廢棄的 Linux 命令,如 ipconfig,已被故意排除在這個列表之外。

如果你很好奇,你可以學習 如何最大限度地利用手冊頁,這將教會你如何使用任何實用程序的最大潛力。

如果我忘了提到任何你喜歡的東西,請在評論中告訴我。

via: https://itsfoss.com/basic-linux-networking-commands/

作者:Sagar Sharma 選題:lkxed 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國