Linux 命令 - ping: 向網絡主機發送 ICMP ECHO_REQUEST 包


ping 命令會向指定的網絡主機發送特殊網絡數據報 IMCP ECHO_REQUEST。多數網絡設備收到該數據包后會做出回應,通過此法即可驗證網絡連接是否正常。

有時從安全角度出發,通常會配置部分網絡通信設備以忽略 ICMP 數據包,因為這樣可以降低主機遭受潛在攻擊者攻擊的可能性。當然,防火牆經常被設置為阻礙 IMCP 通信

 

命令格式

ping [optiondestination

 

命令參數

-a Audible ping.
  每次發送數據時,發出鳴響。

-c count
  發送 count 個 ECHO_REQUEST 數據包后,結束 ping 程序。

-d
  使用 Socket 的 SO_DEBUG 選項。

-f
  大量且快速地向目標發送數據包。

-i interval
  每隔 interval 秒發送一次數據包。

-I interface address
  使用指定的網絡接口地址發送數據包。

-n
  只以數字形式輸出主機地址,不會嘗試去查找主機名。

-p pattern
  最多指定 16 個字節去填充數據包。例如,-p ff 會將所有的填充數據設置為 1。

-q
  靜態輸出。僅程序啟動和結束時顯示摘要行。

-R
  記錄路由過程。

-r
  忽略正常的路由表,而直接向主機發送數據包。如果目標主機不再直連的網絡上,則返回異常。

-s packetsize
  指定要發送的數據的字節數。默認是 56 字節,與 8 字節的 ICMP 頭部結合剛好是 64 字節的 ICMP 數據包。

-t ttl
  設置 IP 包的 TTL 值。

-T timestamp option
  設置 IP 報文的時間戳選項。

-v
  詳細模式輸出。

-V
  顯示版本信息。

-w deadline
  ping 程序在 deadline 秒后退出,不管發送或接受多少數據包。

-W timeout
  設置等待 ICMP 響應的時間。

 

實例

a)  指定 ping 程序執行次數。

[huey@huey-K42JE ~]$ ping -c 4 example.com
PING example.com (93.184.216.34) 56(84) bytes of data.
64 bytes from 93.184.216.34: icmp_seq=1 ttl=45 time=331 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=45 time=333 ms
64 bytes from 93.184.216.34: icmp_seq=4 ttl=45 time=332 ms

--- example.com ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 10820ms
rtt min/avg/max/mdev = 331.154/332.551/333.550/1.216 ms

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM