Узнать IP подключенного интерфейса?
Предположим, я соединяю две машины напрямую с помощью кабеля Ethernet. Я ничего не знаю о конфигурации machine2 - у меня есть доступ только к machine1.
Что я могу сделать на machine1, чтобы определить IP-адрес machine2? (Обратите внимание, что machine2 может иметь любой возможный IP-адрес.)
(Практическое использование для этого заключается в том, чтобы клиент подключал сотовый маршрутизатор к своей машине, и не нужно было настраивать их на стороне, чтобы я мог затем настроить сотовый маршрутизатор для связи с их машиной.)
4 ответа
Многое из этого может зависеть от того, что делает другая машина. Если другая машина темная, вы никогда не сможете узнать.
Однако большинство систем в какой-то степени немного болтливы. Установите / настройте / запустите анализатор пакетов в системе, к которой у вас есть доступ. Вполне вероятно, что в конечном итоге другая система отправит широковещательный пакет какого-либо вида, и в этот момент ваш анализатор получит широковещательный пакет, из которого вы сможете определить IP-адрес и MAC-адрес компьютера2.
Если машина включена и интерфейс включен, то после подключения кабеля вы, вероятно, увидите активность сетевого интерфейса, подключенного к удаленной системе.
Запустите wireshark/tcpdump. Вы видите какие-либо запросы DHCP? Вы видите какие-либо ARP-запросы? Это было бы несколько нормально для системы, использующей TCP/IP.
Интерфейс на Machine2, к которому вы подключаетесь, может даже не иметь адреса - на каком основании вы предполагаете, что он есть?
Вы не можете, в смысле "гарантированно всегда работать", делать то, что вы просите. Лучше всего будет включить DHCP-сервер (как предложено @micro) и дать указание конечному пользователю настроить свой компьютер на использование DHCP для этого интерфейса.
Вы уверены, что вторая машина имеет статический адрес?
Если вы не уверены, возможно, попробуйте запустить DHCP-сервер на компьютере, к которому у вас есть доступ, и следите за журналом.