traceroute在linux中的使用方法

1、traceroute的實現原理

一、IP協議利用存活時間TTL來發出探測包跟蹤數據包到達目標ip主機所經歷的路由網關數量,每通過一個路由器,TTL的值就減去1。當TTL值爲0時,主機就取消發送數據包,並回傳一份ICMP報文。
二、在linux系統中,traceroute 命令利用ICMP協議實現定位本地計算機與目標計算機進行網絡通訊過程當中經歷的全部路由器。
三、IP協議包頭部中的TTL 值能夠反映數據包通過的路由器的跳數,經過控制獨立ICMP 請求報文段中的TTL 值,觀察該報文被拋棄的返回信息,traceroute命令可以遍歷到數據包傳輸路徑上的全部路由器。

2、traceroute命令使用方法

一、命令格式

traceroute  [參數]  [主機]

二、經常使用命令參數

-4 Use IPv4
	
	-6 Use IPv6

	-d  --debug    Enable socket level debugging

	-q  Set the number of probes per each hop. Default is 3
	
	-f 設置第一個檢測數據包的存活數值TTL的大小。
	
	-F 設置勿離斷位。
	
	-g 設置來源路由網關,最多可設置8個。
	
	-i 使用指定的網絡界面送出數據包。
	
	-I 使用ICMP迴應取代UDP資料信息。
	
	-m 設置檢測數據包的最大存活數值TTL的大小。
	
	-n 直接使用IP地址而非主機名稱。
	
	-p 設置UDP傳輸協議的通訊端口。
	
	-r 忽略普通的Routing Table,直接將數據包送到遠端主機上。
	
	-s 設置本地主機送出數據包的IP地址。
	
	-t 設置檢測數據包的TOS數值。
	
	-v 詳細顯示指令的執行過程。
	
	-w 設置等待遠端主機回報的時間。
	
	-x 開啓或關閉數據包的正確性檢驗。

三、使用實例

    1. sudo apt-get install traceroute
      若是是第一次使用 traceroute 命令,則可能會出現這種狀況:
      提示沒有安裝 traceroute
      按照提示安裝便可: sudo apt-get install traceroute
    2. traceroute www.baidu.com
      效果截圖:在這裏插入圖片描述
      能夠看到,traceroute 一臺主機時,會看到有一些行是以星號表示的。出現這樣的狀況,多是防火牆封掉了ICMP的返回信息,因此咱們得不到什麼相關的數據包返回數據。
    3. traceroute -n -m 5 -q 4 -w 3 www.baidu.com
      效果截圖:
      在這裏插入圖片描述-q 4每一個網關發送4個數據包-w 3 把對外發探測包的等待響應時間設置爲3秒
相關文章
相關標籤/搜索