ping命令利用icmp協議(echorequest----echo reply包)來實現
選項
-c 次數 指定ping幾次後退出
-W 時間 指定最大等待時間
注:如有大量ping請求發到本主機,會影響本機其他網絡服務。
ping輸出詳解
rtt:請求報文的響應時間
報錯信息:timeout關鍵字:原因有2種:1,無此主機 2,對方主機不響應
目標主機不可達:這個去查rfc文檔(學習網絡協議的好方法就是看rfc文檔),有中文版的!
判斷主機是否在線的腳本:
1)
for .. in ..;do ping –c1 –W1 x.x.x.$i &>/dev/null && echo “online:x.x.x.$i” ||echo “offline x.x.x.$i”;done
2)
for .. in ..;do if ping –c1 –W1x.x.x.$i &>/dev/null ;then echo “online:x.x.x.$i” ;else echo “offline x.x.x.$i”;fi;done
3)快速ping方法
for .. in ..;do(ping –c1 –W1 x.x.x.$i &>/dev/null && echo “online: x.x.x.$i” ||echo “offlinex.x.x.$i”) &;done|sort –t. -n –k4
traceroute命令:跟蹤到目標主機需要經過多少router
TCP有限狀態機:標識基於TCP的協議的連接所處的狀態---見mag學習筆記目錄下同名圖片
netstat命令 選項
-t 查看tcp已建立的連接
-u 查看ucp已建立的連接
-a == -tu
-p 顯示pid/程序名稱
-rn 顯示本地路由表(不反解域名)
-l 顯示處於監聽狀態的服務
-n 以數字格式顯示端口號、主機名(IP),不反向解析IP,不解析端口號對應的服務名
*常用選項組合-tunlp *UDP是無連接的因此沒有LISTEN這個狀態,
可用選項-tn | -tnl 只顯示tcp連接信息
-c選項顯示輸出且不退出命令,可以動態顯示連接狀況,可用命令#netstat –tnc 5試一下,這條命令指定刷新時間爲每5秒刷新一次,不指定默認每一秒刷新一次。
-e 顯示擴展信息,例如user inode列等等很多,-tne選項試一下
在本機有大量連接時,netstat命令執行速度較慢,ss命令由iproute2軟件包提供,功能類型netstat,在本機有大量連接時執行速度快於netstat
ss命令選項
-t 查看tcp已建立的連接
-t -a 查看tcp已建立的連接,以及監聽中的服務
-u 查看ucp已建立的連接
-u -a 查看ucp已連接,以及等待連接的服務
常用選項–tua
-l 顯示監聽中的套接字
-m 顯示套接字使用的內存信息
-e 顯示擴展信息
-s 顯示統計信息
-p 顯示pid/程序名稱
ss還可以指定過濾條件來顯示連接#man ss
例
ss -ta state established ‘( dport =:ssh )’
ss -tan state established ‘( dport =:22 or sport = :22 )’