Route
如果你的系統有多組 NIC 那封包會從哪一個 NIC 出去呢!!這時候可以透過指令 route 來觀察,主要跟封包的 IP 以及 Gateway 設定有關.
檢視當前路由表 Routing table
root@benjr:~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 172.16.0.3 0.0.0.0 UG 0 0 0 eth0 172.16.0.0 * 255.255.255.0 U 1 0 0 eth0 192.9.1.0 * 255.255.255.0 U 0 0 0 ib1 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0
或是
root@benjr:~# route -n
-n : 使用 IP 的方式來顯示所有資訊 (不採用 Hostname 來顯示).
要手動修改 route table 可以透過下面參數.
# route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
常用的大概就這一些.
add: 新增一條路由 Routing
del: 刪除一條路由 Routing
-net: 指定網段
netmask: 網路遮罩
gw: 路由 Routing table 閘道
新增一條路由+閘道
# route add -net 172.16.0.0 netmask 255.255.255.0 gw 172.16.0.254
刪除一條路由
# route del -net 172.16.0.0 netmask 255.255.255.0 gw 172.16.0.254
新增 default gateway
# route add default gw 192.168.1.250
traceroute / tracepath, tracert
當你和另外一台電腦在傳送接收資料時,你知道其中路徑經過了誰嗎,是誰幫你轉送這些封包呢!! traceroute , tracepath (Linux) / tracert (windows) 透過他們可以得知系統經過幾個 hops(經過哪些網路的主機或是 Router 來傳送該封包)
- Linux
Tracerouteroot@benjr:~# traceroute www.google.com traceroute to www.google.com (74.125.203.99), 30 hops max, 60 byte packets 1 172.16.0.3 (172.16.0.3) 0.152 ms 0.133 ms 0.110 ms 2 * * * 3 * * * 4 * * * 5 * * * 6 * * * 7 202.144.222.78 (202.144.222.78) 306.025 ms 202.144.222.70 (202.144.222.70) 262.546 ms 202.144.222.74 (202.144.222.74) 236.522 ms 8 * * * 9 202.144.222.10 (202.144.222.10) 157.462 ms 161.672 ms 159.634 ms 10 209.85.243.26 (209.85.243.26) 163.312 ms 165.597 ms 164.452 ms 11 209.85.252.253 (209.85.252.253) 166.682 ms 209.85.252.167 (209.85.252.167) 167.909 ms 209.85.253.39 (209.85.253.39) 167.898 ms 12 * * * 13 74.125.203.99 (74.125.203.99) 189.033 ms 188.470 ms 188.292 ms
或是用 tracepath
root@benjr:~# tracepath www.google.com
- Windows
c:\ tracert www.google.com 在上限 30 個躍點上 追蹤 www.google.com [74.125.203.103] 的路由:
沒有解決問題,試試搜尋本站其他內容
2 thoughts on “Linux command – route / traceroute / tracepath, tracert”