3,618 瀏覽數

Linux command – route / traceroute

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

當你和另外一台電腦在傳送接收資料時,你知道其中路徑經過了誰嗎,是誰幫你轉送這些封包呢!! traceroute(Linux) / tracert (windows) 透過他們可以得知系統經過幾個 hops(經過哪些網路的主機或是 Router 來傳送該封包)

  • Linux

    root@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
    
  • Windows

    c:\ tracert www.google.com
    
    在上限 30 個躍點上
    追蹤 www.google.com [74.125.203.103] 的路由:
    

2 Replies to “Linux command – route / traceroute”

  1. 自動參照通知: 網路連線的錯誤排除(二) | Benjr.tw

  2. 自動參照通知: Networking | Benjr.tw

發表迴響