Linux網絡指令,這裡再記錄上幾個必須使用的,即 ping,traceroute,arp。作為網絡排錯的基本工具,它們應該是我們日常接觸得最多的,雖然有幾個參數或許不怎麼常用。當然,使用指令man或 command --help查一下參數資訊,也還是很容易知道它們的具體含義的。
************************************
*@author : xiaoyi.lee
************************************
************1 ping指令 ************
1)指令格式
ping [參數] [IP位址/遠端主機名稱]
2)指令用途
ping指令用于确認本地主機和遠端主機之間的網絡聯通是否正常。
3)指令參數
-f 用于大量且快速地送網絡封包給一台機器,看它的回應速度
-v 詳細顯示指令的執行過程
-c 發包數目 在發送指定數目的網絡封包後停止
-i 間隔秒數 限定每隔幾秒發送一個網絡封包給目标主機,預設是一秒一次
-I 網絡接口 使用指定的網絡界面送出資料包
-s 位元組數 指定發送的資料位元組數,預設是56再加上8位元組的ICMP頭,一共是64 位元組的ICMP資料
-t 存活計數值 設定存活數值TTL的大小,表示最多經過多少跳路由轉發
4)指令示範
示範1--ping 本機位址,檢視本地網絡協定棧準備是否ok
[email protected]:/home/lixiaoyi# ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.028 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.047 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.049 ms
^C
--- 127.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.028/0.041/0.049/0.010 ms
能ping通,說明本地TCP/IP協定運作正常。
示範2--ping目标主機指定次數,預設ping 指令是一直發送,直到你按下CTRL+C
[email protected]:/home/lixiaoyi# ping -c 4 www.ifeng.com
PING c.xdwscache.ourglb0.com (220.112.195.198) 56(84) bytes of data.
64 bytes from 220.112.195.198: icmp_seq=1 ttl=128 time=2.57 ms
64 bytes from 220.112.195.198: icmp_seq=2 ttl=128 time=8.57 ms
64 bytes from 220.112.195.198: icmp_seq=3 ttl=128 time=50.6 ms
64 bytes from 220.112.195.198: icmp_seq=4 ttl=128 time=6.79 ms
--- c.xdwscache.ourglb0.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 8635ms
rtt min/avg/max/mdev = 2.570/17.158/50.696/19.485 ms
示範3--如改變發送的時間間隔,即使用-i參數,截圖就不show出了
[email protected]:/home/lixiaoyi#ping -i 0.1www.ifeng.com
每0.1秒發包一次,你會看到包的ack回得明顯快了。
示範4--改變發送的資料量和ttl數(生命計數)
[email protected]:/home/lixiaoyi# ping -i 5 -s 2048 -t 255 220.112.195.197
PING 220.112.195.197 (220.112.195.197) 2048(2076) bytes of data.
2056 bytes from 220.112.195.197: icmp_seq=1 ttl=128 time=46.7 ms
2056 bytes from 220.112.195.197: icmp_seq=2 ttl=128 time=15.1 ms
2056 bytes from 220.112.195.197: icmp_seq=3 ttl=128 time=11.2 ms
2056 bytes from 220.112.195.197: icmp_seq=4 ttl=128 time=14.8 ms
^C
--- 220.112.195.197 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 15026ms
rtt min/avg/max/mdev = 11.270/22.023/46.754/14.362 ms
********************** 2 arp -ip映射查詢 ********************
有一次ping一台機器時,總是隻能單向ping通。最後,有同僚提醒我可能網絡有ip沖突,于是使用arp指令檢視本地mac表後,才知道是因為網絡中有一台和我要通路的主機同IP的機器,我機器的arp-ip映射表中,記錄的是另一台主機的mac位址,ping包都發給那台主機了,是以删掉這條記錄後,就可以正常聯通我真正想要連接配接的主機了。
[email protected]oyi-dev:/home/lixiaoyi#arp --help
-a 以另一種(BSD)風格顯示(所有)主機
-s, --set 設定一個新的 ARP 記錄
-d, --delete 删除指定記錄
-v, --verbose 顯示詳細資訊
-n, --numeric 不解析名稱
-i, --device 指定網絡接口(如 eth0)
-D, --use-device 讀取所給定裝置的硬體位址
-A, -p, --protocol 指定協定族
-f, --file 從檔案或 /etc/ethers中讀取新記錄
[email protected]:/home/lixiaoyi#arp -n (檢視arp--ip映射關系)
位址 類型 硬體位址 标志 Mask 接口
192.168.233.2 ether 00:50:56:e9:ee:a4 C eth0
192.168.233.254 ether 00:50:56:ff:76:61 C eth0
××××××××××××××××× 3 路由追蹤指令traceroute ×××××××××××××××××××××
Linux上,我們可以使用traceroute追蹤本地主機到另一主機的網絡路徑。
1 指令格式
traceroute [參數] [主機]
2 指令用途
追蹤網絡資料包的路由過程,預設使用的資料包是40位元組大小
3 參數說明
-i 使用指定的網絡界面送出資料包
-m 設定檢測資料包的最大存活數值TTL的大小
-n 直接使用IP位址而非主機名稱
-p 設定UDP傳輸協定的通信端口
-s 設定本地主機送出資料包的IP位址
-w 設定等待遠端主機回報的時間
4 使用示範
示範1--查詢到百度的路由過程(最近喜歡用百度來試)
[email protected]:/home/lixiaoyi# traceroute www.baidu.com
示範2--限定跳數
[email protected]:/home/lixiaoyi# traceroute -m 10 www.baidu.com
示範3--顯示IP位址,不查主機名
[email protected]:/home/lixiaoyi# traceroute -n www.baidu.com
示範4--把發送包的個數設定為10個
[email protected]:/home/lixiaoyi#traceroute -q 10 www.baidu.com
示範5--把發送包的等待響應時間設定為10秒
[email protected]:/home/lixiaoyi#traceroute -w 10 www.baidu.com
以上都是日常使用時的筆記,從紙質本子上移動到CSDN上,是為了日後查閱簡單友善些。---xiaoyi.lee
之前也寫過ifconfig的使用方法,可以點選檢視:http://blog.csdn.net/xiaoyilee2016/article/details/50411202