
通常、特定のコンピュータの外部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)
/プロセス/ネットワーク
各ネットワークインタフェースで操作できる情報は、ifconfig
Linuxカーネルのファイルシステムに表示されます/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アドレスを設定します。eth0
wlan0
もう1つの方法は、コンピュータが接続できるネットワーク上のサーバーであるDHCPというサービスを使用してIP情報を動的に設定し、DHCPサーバーにIPアドレスを割り当てるように要求することです。
どちらの場合も、ネットワーク情報が識別されると以下からアクセスできます/proc/net/*
。
答え2
外部アドレスを設定するのが作業ですifconfig
。アドレスだけが書き込まれたカーネルデータ構造を読み込みます。コンピュータがネットワークから切断された場合でも機能します。 ifconfig
ネットワークはコンピュータをネットワークから切り離すことで完全に設定できます。正しく設定すると、ネットワークケーブルが接続されている間にネットワークが起動します。
ループバックアドレス[127.0.0.1]は、ソフトウェアデバイスに設定されており、コンピュータにネットワークカードが取り付けられていない場合でも存在します。これにより、TCPやUDPなどのプロトコルを使用してローカル接続が可能になります。これは、ローカル接続に特別なサービスを必要としないため、ソフトウェア開発を簡素化します。
編集:ifconfig
すでに使用されているIPアドレスを設定しているかどうかはわかりません。ネットワークインターフェイスがインターネットに接続されている場合、ARP
ネットワークはそのアドレスが使用中であることを確認できます。これは必須機能ではなく、複数のコンピュータがifconfig
同じIPアドレスを持つことはまれではありません。他のソフトウェアで設定されたアドレスが正しくないと判断した場合、ifconfig
一般的な応答は警告メッセージを発行することです。
ifconfig
誤ったネットワーク用にデバイスを設定することも可能です。提供された設定がifconfig
正しいことを確認するのはユーザーの責任です。同じ機能を実行し、ifconfig
同じ制限を適用する他のツールもあります。
プライベートネットワークには3つのIPアドレス範囲が定義されています。それぞれ 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 です。これらのアドレス範囲でコンピュータを設定するのが一般的です。この場合、そのIPアドレスはインターネットの「パブリック」IPアドレスとは異なります。 「パブリック」IPアドレスは、プライベートネットワーク上のコンピュータがインターネットと通信できるようにネットワークアドレス変換(NAT)を実行するインターネットに接続されているデバイスに属します。ホームネットワークのコンピュータには、ほとんど常にプライベートネットワークアドレスがあります。ほとんどのホームルータは、ローカル(プライベート)ネットワーク上のコンピュータに対してNATを実行します。
答え3
NATの背後にある場合、ifconfigは「外部」IPアドレスを表示できません。 DHCPサーバーがネットワークインターフェースに提供したアドレスのみを構成します。外部IPアドレスがわかっている場合は、次のものを使用する必要があります。https://ipof.in/txt。