Назад | Перейти на главную страницу

Есть ли способ узнать, к какому IP-адресу я подключен?

Скажем мой eth0 интерфейс имеет несколько IP-адресов, и я могу подключиться по SSH к любому из них. Есть ли способ узнать, с кем из них я связан?

(Предпосылкой является то, что определенные операции, такие как удаление IP-адреса с хоста, лучше не выполнять с заданного IP-адреса. Чтобы избежать этого, я хочу сначала проверить это, прежде чем я закроюсь.)

Вы можете просто ввести:

echo "$SSH_CONNECTION"

Или, если вам нужен только IP-адрес сервера, а не другие поля:

echo "$SSH_CONNECTION" | cut -f3 -d' '

Если вы используете screen и повторно подключитесь к ранее запущенному screen Обратите внимание, что выполнение этих команд внутри screen покажет соединение, из которого screen был запущен, а не сеанс, к которому вы повторно подключились screen.

Самый простой способ - использовать netstat и проверить там соединения.

user@host:~$ sudo netstat -ntp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp      128      0 123.45.67.89:50212         98.76.54.32:22            ESTABLISHED 16774/ssh
[more stuff removed]