ifconfigはコンピュータの外部IPアドレスをどのように見つけますか?

ifconfigはコンピュータの外部IPアドレスをどのように見つけますか?

通常、特定のコンピュータの外部IPアドレスを確認するには、curl外部Webサイトを使用して自分のIPアドレスが何であるかを知らせる応答を送信します。ところで、ifconfig私の外部IPアドレスもリストされていることがわかりました。

コンピュータのIPアドレスを確認するために要求を送信できる「標準」ソースがネットワーク上にありますか、ifconfigまたはコンピュータのIPアドレスを見つける他の方法はありますか?

ベストアンサー1

ifconfigネットワークインターフェイスの現在の構成を設定/インポートするためのツールにすぎません。実行すると、この情報が返されます。これを使用して、すべてのデバイスまたは個々のインターフェイスを照会できます。

はい

別々のデバイス。

$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:6119 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6119 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:8725156 (8.3 MiB)  TX bytes:8725156 (8.3 MiB)

すべての機器。

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:20 Memory:f2600000-f2620000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:45792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45792 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:7548353 (7.1 MiB)  TX bytes:7548353 (7.1 MiB)

wlan0     Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1254848 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1408361 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:699671476 (667.2 MiB)  TX bytes:347243164 (331.1 MiB)

/プロセス/ネットワーク

各ネットワークインタフェースで操作できる情報は、ifconfigLinuxカーネルのファイルシステムに表示されます/proc/net。マニュアルページを参照すると、ifconfig次のセクションが表示されます。

FILES
       /proc/net/socket
       /proc/net/dev
       /proc/net/if_inet6

このファイルにはいくつかのネットワーク情報が含まれています。以下に/proc/net別のファイルがあります。

ifconfig、ipの代替

ipネットワーク情報を操作するために使用できる代替ツールがあります。

$ ip addr show lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

インターネット情報

IP アドレスなどの情報は、静的または動的に設定できます。静的に設定するときは、通常このツールを使用して、またはifconfig同じ特定のネットワークデバイスのIPアドレスを設定します。eth0wlan0

もう1つの方法は、コンピュータが接続できるネットワーク上のサーバーであるDHCPというサービスを使用してIP情報を動的に設定し、DHCPサーバーにIPアドレスを割り当てるように要求することです。

どちらの場合も、ネットワーク情報が識別されると以下からアクセスできます/proc/net/*

おすすめ記事