ping
ping 程序使用 ICMP 協議的強制回顯請求數據報以使主機或網關發送一份 ICMP 的回顯應答。回顯請求數據報(" pings ")含有一個 IP 及 ICMP 的報頭,後跟一個``時間值關鍵字然後是一段任意長度的填充字節用於把保持分組長度為16的整數倍。以下是程序的選項:
ping [ -LRUbdfnqrvR ] [ -c count ] [ -i wait ] [ -l preload ] [ -p pattern ] [ -s packetsize ]
參數
-c
count 在發送(和接收)了正好數量為 count 的回顯應答分組後停止操作。在發送了 count 個分組後沒有收到任何分組的特別情況是發送導致了終止(選程主機或網關不可達)。
-d
在所用的套接字上使用SO_DEBUG 選項。
-f
以高速方式來作ping 。以分組返回的速度來輸出其它分組或每秒輸出百次。當收到每個回顯應答並打印一個退格符時,對每個回顯請求都打印一個句點``.。這可以快速顯示出丟棄了多少個分組,只有超級用戶可以用這個選項。這(操作)對網絡要求非常苛刻,應該慎重使用。
-i
wait 在發送每個分組時等待 wait 個秒數。缺省值為每個分組等待一秒。此選項與-f選項不能同時使用。
-l
preload 如果指定 preload ,那麼 ping 程序在開始正常運行模式前盡可能快地發送分組。同樣只有超級用戶可以用這個選項。
-n
只以數字形式輸出信息。這樣就不嘗試去查找主機名了。
-p
pattern 可以指定最多16個填充字節用於保持分組長度為16的整數倍。在網絡上診斷與數據相關問題時此選項很有用。例如``-p ff將使發出的分組都用全1填充數據區。
-q
靜態輸出。在程序啟動和結束時只顯示摘要行。
-R
記錄路由。在回顯請求分組中包含記錄路由選項並在相應的分組返回時顯示路由緩沖區。注意IP首部的容量只能存放9條這樣的路由。很多主機忽略或禁用此選項。
-r
在所連接的網絡上旁路正常的選路表,直接向主機發送分組。如果主機未處於直接相連的網絡上,那麼返回一個錯誤。此選項可用來通過無路由接口對一台主機進行檢測(例如當接口已被routed 程序丟棄後)。
-s
packetsize 指定要發送數據的字節量。缺省值為 56 ,這正好在添加了 8 字節的 ICMP 首部後組裝成 64 字節的 ICMP 數據報。
-v
詳細模式輸出。打印接收到的回顯應答以外的ICMP分組。
-w
waitsecs 在 waitsecs 秒後停止 ping 程序的執行。當試圖檢測不可達主機時此選項很有用。
當用ping來隔離故障時,應首先在本地主機上運行,以檢查本地網絡接口有效 運行。然後,應該進一步檢查主機和網關。計算出往返時間和分組丟失率。如 果收到重復的分組,雖然這些分組的往返時間要用於計算往返時間的最小/平均 /最大值,但是它們不應該算在剛才計算的丟失的分組中。當指定數量的分組已 經發送(和接收)時或如果程序被SIGINT信號終止,會顯示一份簡短的摘要。
如果ping程序根本沒有收到任何返回分組,那它將以返回碼1退出。出錯時返回 2。否則返回0。這些值可能用於查看主機存在與否。
此程序專用於網絡測試,度量和管理。因為它會使用網絡的流量,在正常操作或 自動的腳本中使用它並不明智。
例1
例a,ping一下baidu
復制代碼代碼如下:
[root@localhost ~]# ping baidu.com
PING baidu.com (123.125.114.144) 56(84) bytes of data.
64 bytes from 123.125.114.144: icmp_seq=1 ttl=54 time=3.51 ms
64 bytes from 123.125.114.144: icmp_seq=2 ttl=54 time=6.03 ms
--- baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 3.515/4.775/6.036/1.262 ms
例b,指定次數和時間,間隔ping baidu
復制代碼代碼如下:
[root@localhost ~]# ping -c 5 -i 0.5 baidu.com
PING baidu.com (123.125.114.144) 56(84) bytes of data.
64 bytes from 123.125.114.144: icmp_seq=1 ttl=54 time=2.92 ms
64 bytes from 123.125.114.144: icmp_seq=2 ttl=54 time=2.97 ms
64 bytes from 123.125.114.144: icmp_seq=3 ttl=54 time=2.99 ms
64 bytes from 123.125.114.144: icmp_seq=4 ttl=54 time=6.98 ms
64 bytes from 123.125.114.144: icmp_seq=5 ttl=54 time=3.14 ms
--- baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 2011ms
rtt min/avg/max/mdev = 2.925/3.806/6.985/1.591 ms
例2
例:-i 指定發送數據包時間間隔,-c 指定一共發送多少個數據包,-I 指定源地址,-q指定直接顯示程序的啟動和最後結果
復制代碼代碼如下:
# ping -i 0.2 -c 30 -I 192.168.10.208 180.149.132.47 -q
PING 180.149.132.47 (180.149.132.47) from 192.168.10.208 : 56(84) bytes of data.
--- 180.149.132.47 ping statistics ---
30 packets transmitted, 30 received, 0% packet loss, time 5858ms
rtt min/avg/max/mdev = 29.525/29.857/33.755/0.765 ms
arping
arping 命令: 在指定網卡上發送ARP請求指定地址,源地址 “-s” 參數指定,可用來直接 ping MAC 地址,以及找出那些 ip 地址被哪些電腦所使用了
-A ARP回復模式,更新鄰居
-b 保持廣播
-D 復制地址檢測模式
-f 得到第一個回復就 退出
-q 不顯示警告信息
-U 主動的ARP模式,更新鄰居
-c <數據包的數目> 發送的數據包的數目
-w <超時時間> 設置超時時間
-I <網卡> 使用指定的以太網設備,默認情況下使用eth0
-s 指定源IP地址
-h 顯示幫助信息
-V 顯示版本信息
例:
例a,指定IP發送ARP請求
復制代碼代碼如下:
[root@Blackghost ~] arping 192.168.1.11
ARPING 192.168.1.11 from 192.168.1.6 eth0
Unicast reply from 192.168.1.11 [08:00:27:7e:b8:08] 2.780ms
Unicast reply from 192.168.1.11 [08:00:27:7e:b8:08] 2.187m
例b,向指定主機發送ARP請求,當收到第一個包自動退出
復制代碼代碼如下:
[root@Blackghost ~] arping -f 192.168.1.11
Unicast reply from 192.168.1.11 [08:00:27:7e:b8:08] 3.080ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
例c,指定發送次數
復制代碼代碼如下:
[root@Blackghost ~] arping -c 4 192.168.1.11
Unicast reply from 192.168.1.11 [08:00:27:7e:b8:08] 3.080ms
Unicast reply from 192.168.1.11 [08:00:27:7e:b8:08] 2.670ms
Unicast reply from 192.168.1.11 [08:00:27:7e:b8:08] 1.850ms
Unicast reply from 192.168.1.11 [08:00:27:7e:b8:08] 4.120ms
Sent 4 probes (4 broadcast(s))
Received 4 response(s)