0

netstat または route、およびおそらく他のいくつかのコマンドを使用すると、メイン ルーティング テーブルでデフォルト ゲートウェイを簡単に取得できます。(ただし、抽出は予想よりも困難です) しかし、各インターフェイスの各ゲートウェイを見つける方法は見つかりませんでした。

具体的には、wlan0 および eth0 インターフェイスがあり、それぞれに独自の標準ゲートウェイがあります。とにかくどこかからそれらを抽出することはありますか。できれば C++ で、Linux ディストリビューションの場合。(具体的にはUbuntu 12.04)

編集:

おそらく私の用語は正しくないので、明確にしようとします:

  • ラップトップで wlan0 インターフェイスのみが動作している場合 (つまり、LAN ケーブルを取り外した場合)。
  • IP *.*.108.1 のデフォルト ゲートウェイと *.*.108.56 のローカル IP があります。
  • イーサネット ケーブルを接続すると、*.*.105.129 のデフォルト ゲートウェイと *.*.105.170 のローカル IP が取得されます。両方のサブネット マスクは 255.255.255.128 です。

それに応じてルーティングテーブルを設定して、両方を使用したいと思います。

ゲートウェイの目的を誤解している場合は、主な目的を説明させてください。

イーサネット ケーブルの代わりにワイヤレス接続を使用するように指定したり、その逆を指定できるようにしたいと考えています。

EDIT2:

これらは、UDP パケットをポート 5555 からリダイレクトして WLAN 経由で送信するために使用するルーティング コマンドです。

iptables -A OUTPUT -o wlan0 -t mangle -p udp --sport 5555 -j MARK --set-mark 1
ip rule add fwmark 1 table 1
ip route add dev wlan0 default via *.*.108.1 table 1

最後のコマンドでは、探しているゲートウェイを提供する必要があります。

4

0 に答える 0