TL;DR - ваш IP-адрес: ....
Теперь давайте подробнее разберёмся с этим!
Во-первых, раз уж нам нужен ip адрес, то стоит познакомиться с
командой ip. В частности, для
получения информации об имеющихся сетевых интерфейсах, а также их
настройке, можно использовать команду ip addr или сокращённый вариант
ip a:
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet **127.0.0.1**/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
Команда ip довольно новая, не на всех системах она есть. Так, к примеру, на
MacOS, FreeBSD или старых версиях Linux вместо команды ip можно использовать
команду ifconfig:
$ ifconfig 
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
	options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
	inet 127.0.0.1 netmask 0xff000000 
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
	nd6 options=201<PERFORMNUD,DAD>
Соответственно, мы видим интерфейс lo, у которого настроен ip 127.0.0.1.
Однако, там мы встретим отнюдь не один сетевой интерфейс. Например, этот
самый lo - это псевдо-интерфейс для того, чтобы приложение в
операционной системе могло общаться с другим на той же по "сети".
Соответственно, только один (вариант с несколькими также возможен, но скорее всего, это не ваш случай) из выведенных интерфейсов обращается в интернет.
    
    Как узнать, какой же сетевой интерфейс ходит в интернет
Опять же воспользуемся командой ip, но на этот раз используем параметр
route - получим список настроенных маршрутов. Именно их использует
операционная система при выборе, через что слать данные.
$ ip route
default via 10.111.88.11 dev ens192  proto static  metric 100 
Опять же в MacOS, FreeBSD или старых версиях Linux вместо команды ip можно использовать
команду route:
$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.111.88.11    0.0.0.0         UG    100    0        0 ens192
– в большинстве случаев используется маршрут по умполчанию, или же default
(также он пишется как 0.0.0.0).
Таким образом мы видим, что используется ip 10.111.88.11.
Локальные адреса и NAT
Однако, не всё так просто. Это ваш локальный ip - он используется для адресации во внутренней сети. Как я это определил? Всё просто: есть диапазоны ip-адресов, которые используются только во внутренних локальных. Вот их краткий список:
Следующие диапазоны определены IANA как адреса, выделенные локальным сетям:
- 10.0.0.0 — 10.255.255.255
 - 192.168.0.0 — 192.168.255.255
 - 100.64.0.0 — 100.127.255.255
 - 172.16.0.0 — 172.31.255.255
 
– первые 2 диапазона используются особо часто.
Однако, именно с этого адреса будут отсылаться данные. Но сайты, на которые мы пойдём увидят не их. Всё благодаря технологии NAT - подмены ip-адресов на хосте маршрутизатора.
![]()
Маршрутизатор получит данные от нас, изменят исходящий ip-адрес на свой и отправит дальше, а когда придёт ответ, всё заменит назад.
Это делается по 2-м причинам:
- Количество IP-адресов версии 4 (которая сейчас наиболее распространена) ограничено. Более того, они закончились – теперь разве что арендовать или перекупать.
 - Из соображений безопасности: снаружи никто не сможет к вам подключиться.
 
Поэтому, в общем случае, вы не можете узнать тот ip, который будет использоваться в интернете без использования внешних сервисов.
Ну а самый простой вариант узнать свой внешний IP-адрес – просто сходить на один из сайтов, которые как раз сделаны для этого.