Вот моя ситуация. Это гипотетически, но случается достаточно часто, чтобы стать проблемой.
У нас есть сетевой коммутатор Ethernet уровня 2. Все устройства, подключенные к этому коммутатору, используют IP-адреса в частной сети 10.1.1.0/24.
Мы подключили к этой сети новое устройство, на котором работает встроенный Linux. Мы настроили это устройство на использование сети 10.1.1.0/24. Это устройство работало нормально, но загадочным образом отключилось от сети. Мы не можем подключиться к этому устройству с помощью традиционных инструментов TCP / IP (ping, telnet 10.1.1.100 22
, и т.д.).
Мы подозреваем, что это устройство каким-то образом было сброшено и вернулось к своей сетевой конфигурации по умолчанию, где ему нужна сеть, например 192.168.1.0/24 или 192.168.0.0/24 (я не помню, в какой сети). Кажется, что он перезагружается снова, и снова, и снова (возможно, между перезагрузками выполняется DHCPDISCOVER).
Это устройство все еще подключено к коммутатору, и, похоже, между перезагрузками установлено соединение.
Есть ли способ проверить устройство с компьютера, подключенного к тому же коммутатору? Есть ли эквивалент уровня 2 для ping
команду или широковещательный пинг, чтобы показать мне все устройства, подключенные к этому сегменту локальной сети?
arping
может быть то, что вы ищете?
Вы можете атаковать это разными способами. Сначала попробуйте найти техническое руководство для рассматриваемого устройства. Надеюсь, это расскажет вам, что именно он использует для конфигурации по умолчанию.
Затем, если возможно, удалите сетевой коммутатор из уравнения. Подключите устройство напрямую к компьютеру, используя кроссовый кабель. Таким образом, вы можете настроить компьютер так, чтобы он находился в сети, как вы думаете, что устройство включено, и посмотреть, сможете ли вы с ним разговаривать. Это также позволяет легко использовать такой инструмент, как tcpdump чтобы посмотреть, что устройство отправляет по сети. Например, если я подключаю устройство напрямую к порту Ethernet на моем Mac с помощью перекрестного кабеля, я могу сделать это:
# tcpdump -i en0
чтобы увидеть весь трафик, поступающий с устройства (обратите внимание, что вы должны быть пользователем root или запустить эту команду через sudo
).
Просмотр вывода tcpdump должен дать вам очень четкое представление о том, что не отвечающее устройство пытается сделать в сети.
Обратите внимание, что я рекомендую подключать устройство напрямую к вашему компьютеру из-за особенностей работы сетевых коммутаторов. Коммутатор не отправляет трафик на ваш порт, если он не предназначен для вас. Таким образом, устройство может болтать, но поскольку ваш компьютер не находится в той же IP-сети, вы не увидите большую часть данных. Есть способы обойти это, например зеркальное отображение порта коммутатора, но в целом проще всего полностью обойти коммутатор.
Помимо арпинга, ping 255.255.255.255
и arp -na
вместе может помочь.