作為一名 IT 從業(yè)者,經(jīng)常都要跟 Linux 打交道,其中網(wǎng)絡(luò)更是用得頻繁,掌握基本的網(wǎng)絡(luò)命令是必備的技能,更是提高我們工作效率的必備良器,今天這篇文章就來梳理下常用的網(wǎng)絡(luò)工具。因?yàn)槭崂淼拿畋容^多,所以文章自然不會(huì)深入介紹這些命令的用法,大家可以有個(gè)印象,然后學(xué)習(xí)工作中碰到了再具體去查好了?偟膩碚f,Linux 網(wǎng)絡(luò)命令涉及到這么幾塊:網(wǎng)絡(luò)配置: ifconfig、 ip連通性探測: ping、 traceroute、 telnet、 mtr網(wǎng)絡(luò)連接: netstat、 ss、 nc、 lsof流量統(tǒng)計(jì): ifstat、 sar、 iftop交換與路由: arp、 arping、 vconfig、 route防火墻: iptables、 ipset域名: host、 nslookup、 dig、 whois抓包: tcpdump虛擬設(shè)備: tunctl、 brctl、 ovs01 網(wǎng)絡(luò)配置最重要的兩個(gè)工具就是 ifconfig 和 ip,這兩個(gè)工具分別來自兩個(gè)工具包 net-tools 和 iproute2,其中, net-tools 包還包含如 route、 netstat、 tc、 ifstat 等等常用的工具,不過, net-tools 包已經(jīng)逐步在被 iproute2 包替換。
對(duì)于我們學(xué)習(xí)來說,不妨都學(xué)習(xí)下,這樣也有助于理解和記憶。1.1 ifconfigifconfig 通常是用來查看網(wǎng)卡的信息(比如 IP 地址、收發(fā)包及丟包情況等),以及配置網(wǎng)卡(如啟停網(wǎng)卡,修改網(wǎng)卡 MTU,修改 IP、MAC 地址等)查看網(wǎng)卡信息:給網(wǎng)卡配置 IP 地址:開關(guān)網(wǎng)卡:ifconfig eth0 downifconfig eth0 up1.2 ipip 是非常強(qiáng)大的工具,可以替換 net-tools 包的所有工具,如常見的 ifconfig、 netstat、 route、 arp 等,比如查看網(wǎng)卡信息:查看路由:查看 arp 信息:更多的用法大家用到可以 man ip 一下。02 連通性探測連通性探測意在使用工具探測兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)之間的連通性,常用的有 ping、 telnet、 traceroute、 tracepath、 mtr 等工具。2.1 ping這個(gè)命令通常用來判斷網(wǎng)絡(luò)的連通性和網(wǎng)速情況,偶爾用來查看域名的 IP,比如:可以看到百度對(duì)應(yīng)域名的 IP。使用 -c 參數(shù)可以指定發(fā)送數(shù)據(jù)包的個(gè)數(shù),-w 指定最長等待時(shí)間linux命令大全, -I指定發(fā)送數(shù)據(jù)包的網(wǎng)卡。ping 只能使用 ipv4,要使用 ipv6,可以用 ping6 命令。
2.2 telnettelnet 通常用作遠(yuǎn)程登錄,用來確定遠(yuǎn)程服務(wù)的狀態(tài),探測遠(yuǎn)程服務(wù)器的某個(gè)端口是否能訪問,也可以探測本地的,如:可見成功連接到 localhost 的 22 端口,說明該端口已經(jīng)打開。2.3 traceroute & tracepathtraceroute 主要用來探測從源主機(jī)到目標(biāo)主機(jī)之間的每一跳路由節(jié)點(diǎn),通常和 ping 結(jié)合起來排查網(wǎng)絡(luò)故障, ping 測連通性和網(wǎng)速,如果網(wǎng)絡(luò)不通,可以借由 traceroute 進(jìn)一步排查是哪個(gè)路由節(jié)點(diǎn)出問題了。如果網(wǎng)絡(luò)卡頓,也可以判斷出哪里是瓶頸?梢钥吹剑瑥闹鳈C(jī)到 baidu.com 共經(jīng)歷了 30 跳,每一跳都統(tǒng)計(jì)了響應(yīng)時(shí)間。類似的工具還有一個(gè) tracepath。2.4 mtrmtr 全稱是 mytraceroute,是一個(gè)集大成的工具,它集成了 ping、 traceroute、 nslookup 的功能,診斷網(wǎng)絡(luò)問題非常方便。mtr 有個(gè)好處就是能夠 實(shí)時(shí)刷新 數(shù)據(jù),比如 mtr-n 可以看到,從本地到百度經(jīng)過的所有路由,并顯示每個(gè)路由間的丟包率、響應(yīng)時(shí)間等。常用參數(shù):mtr -r 不會(huì)刷新,一次性打印 10個(gè)包的統(tǒng)計(jì)結(jié)果mtr -s 用來指定ping數(shù)據(jù)包的大小mtr -n no-dns不對(duì)IP地址做域名反解析mtr -a 來設(shè)置發(fā)送數(shù)據(jù)包的IP地址,這個(gè)用于主機(jī)有多個(gè)IP時(shí)。