関連する IP アドレスのリストを取得するには、 netstatコマンドを使用できます。
netstat -rn
これにより、IP アドレスの長いリストが得られ、必要なフィールドを見つけるのは容易ではありません。サンプル結果は次のとおりです。
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.195.1 UGSc 17 0 en2
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 1 254107 lo0
169.254 link#7 UCS 0 0 en2
192.168.195 link#7 UCS 3 0 en2
192.168.195.1 0:27:22:67:35:ee UHLWIi 22 397 en2 1193
192.168.195.5 127.0.0.1 UHS 0 0 lo0
More result is truncated.......
ゲートウェイの IP アドレスは最初の行にあります。最初の列にデフォルトがあるもの。
結果の選択された行のみを表示するには、grepコマンドとnetstatを使用できます。
netstat -rn | grep 'default'
このコマンドは、デフォルトを持つ結果の行をフィルタリングして表示します。この場合、次のような結果が表示されます。
default 192.168.195.1 UGSc 14 0 en2
ゲートウェイの IP アドレスだけを見つけたい場合は、awkを使用して結果をさらにフィルタリングできます。awk コマンドは、入力結果のパターンを照合し、出力を表示します。これは、何らかのプログラムまたはバッチ ジョブで結果を直接使用する場合に役立ちます。
netstat -rn | grep 'default' | awk '{print $2}'
awk コマンドは、結果の 2 列目を照合してテキストに出力するように指示します。したがって、最終結果は次のようになります。
192.168.195.1
この場合、netstat はすべての結果を表示し、grep は「default」を含む行のみを選択し、awk はさらにパターンを照合してテキストの 2 列目を表示します。
同様に route -n get default コマンドを使用して、必要な結果を取得できます。完全なコマンドは
route -n get default | grep 'gateway' | awk '{print $2}'
これらのコマンドは、Linux だけでなく UNIX システムや MAC OS でもうまく機能します。