関連付けられている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アドレスは最初の行にあります。最初の列にデフォルトがあるもの。
結果の選択した行のみを表示するには、netstatと一緒にgrepコマンドを使用できます
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で適切に機能します。