2011-12-24 12 views
1

インターネットに接続するために使用するイーサネットアダプタのアダプタ名とデフォルトゲートウェイを見つける必要があります。イーサネット接続のネットワークアダプタ名を見つける

netstat -rnでゲートウェイを取得できますが、アダプタ名に問題があります。

私はjavaを使用しており、Windowsシステム用にipconfigコマンドを実行し、結果を解析しています。それは私がデフォルトゲートウェイと一致し、それのために、文字列「ローカルエリア接続」を解析したいことができ

 
Ethernet adapter Local Area Connection: 

    Connection-specific DNS Suffix . : customer.service.provider.lan 
    Link-local IPv6 Address . . . . . : fb80::7d2b:98aa:506:685%10 
    IPv4 Address. . . . . . . . . . . : 10.65.2.21 
    Subnet Mask . . . . . . . . . . . : 255.255.192.0 
    Default Gateway . . . . . . . . . : 10.65.0.1 

この形式でネットワークアダプタの名前を返します。英語のロケールでは、 "adapter"という単語を探して ":"まで解析することができます。問題は、英語とは異なるロケールを持つコンピュータ上にあり、「アダプタ」は他のものと呼ばれています。どのようにしてネットワークアダプタ名を確実に取得できますか?

+1

私はAPI呼び出し 'NetworkInterface.getName()'を試しましたが、アダプタ名の代わりに "eth0"を返します – siamii

答えて

1

tutorialを参照してください。ネットワークインターフェイスアドレスのリスト getName()のgetDisplayName()インスタンスを使用します。ゲートウェイを取得するためにHeerを参照してください:How can I determine the IP of my router/gateway in Java?

+0

試しました。 getDisplayName()は、アダプタの説明を返します。これはmodel-makeです。名前ではありません。 – siamii

+0

実際には、チュートリアルによれば、アダプタ名を返すべきですが、私のマシン上ではそうではありません。奇妙な。 – siamii

関連する問題