ifconfig는 컴퓨터의 외부 IP 주소를 어떻게 찾나요?

ifconfig는 컴퓨터의 외부 IP 주소를 어떻게 찾나요?

일반적으로 특정 컴퓨터의 외부 IP 주소를 확인하려면 curl외부 웹사이트를 사용하여 내 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

또 다른 방법은 컴퓨터가 연결할 수 있는 네트워크상의 서버인 DHCP라는 서비스를 사용하여 IP 정보를 동적으로 설정하고 DHCP 서버에 IP 주소를 할당하도록 요청하는 것입니다.

두 경우 모두 네트워크 정보가 식별되면 아래에서 액세스할 수 있습니다 /proc/net/*.

답변2

외부 주소를 구성하는 것이 작업입니다 ifconfig. 단지 주소가 기록된 커널 데이터 구조를 읽습니다. 컴퓨터가 네트워크에서 연결이 끊어진 경우에도 작동합니다. ifconfig네트워크는 컴퓨터를 네트워크와 분리하여 완전히 구성할 수 있으며, 올바르게 구성하면 네트워크 케이블이 연결되어 있는 동안 네트워크는 실행됩니다.

루프백 주소 [127.0.0.1]는 소프트웨어 장치에 구성되어 있으며 컴퓨터에 네트워크 카드가 설치되지 않은 경우에도 존재합니다. 이를 통해 TCP 및 UDP와 같은 프로토콜을 사용하여 로컬 연결이 가능해집니다. 이는 로컬 연결에 특별한 서비스가 필요하지 않기 때문에 소프트웨어 개발을 단순화합니다.

편집: ifconfig이미 사용 중인 IP 주소를 구성했는지 알 수 없는 경우가 많습니다. 네트워크 인터페이스가 인터넷에 연결되어 있으면 ARP네트워크에서 해당 주소가 사용 중인지 확인할 수 있습니다. 이는 필수 기능은 아니며 ifconfig여러 컴퓨터가 동일한 IP 주소를 갖는 것은 드문 일이 아닙니다. 다른 소프트웨어에서 구성된 주소가 올바르지 않다고 판단하는 경우 ifconfig일반적인 응답은 경고 메시지를 발행하는 것입니다.

ifconfig잘못된 네트워크에 대해 장치를 구성하는 것도 가능합니다 . 제공된 구성이 ifconfig올바른지 확인하는 것은 사용자의 책임입니다 . 동일한 기능을 수행 ifconfig하고 동일한 제한 사항을 적용하는 다른 도구도 있습니다 .

개인 네트워크에는 세 가지 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.

관련 정보