Почему iPod Touch и PS3 реагируют на netdiscover как 0.0.0.0?

593
Iszi

С этим вопросом только слегка связаны, потому что он был обнаружен в том же сканировании:

Может кто-нибудь объяснить, как это произошло?

При работе netdiscoverв моей домашней сети iPod Touch (определяемый по зарезервированному DHCP-адресу и MAC-адресу) отвечал как на собственный IP-адрес в нашей подсети 10.xxx, так и на 0.0.0.0. Почему это случилось?

РЕДАКТИРОВАТЬ: После того, как позволить netdiscoverнемного дольше работать, кажется, что один из PS3 в сети также отвечает на 0.0.0.0 - почему это так?

3
Интересно. Я оставлю это для кого-то, кто может знать больше о внутренностях этих устройств, но я подозреваю, что существует некоторый виртуальный интерфейс, который отвечает, и не определен IP. Возможно, часть uPNP / DLNA. Paul 12 лет назад 0
Уверен, что uPNP отключен на PS3. Не знаю, если это вариант для iPod. Iszi 12 лет назад 0
Предоставляет ли netdiscover mac-адрес для двух IP-адресов? Можете ли вы опубликовать их, если так? Paul 12 лет назад 0
MAC-адреса, указанные в 0.0.0.0, являются теми же адресами, которые соответствуют обычным системным IP-адресам. Iszi 12 лет назад 0
Интересно, это как-то связано с Apple [Rapid DHCP] (http://cafbit.com/entry/rapid_dhcp_or_how_do). daxelrod 12 лет назад 0
@daxelrod Есть интересная мысль. У PS3 есть подобная особенность? Было бы здорово, если бы вы могли сослаться на некоторую документацию, в которой конкретно упоминаются ответы ARP 0.0.0.0. Iszi 12 лет назад 0

1 ответ на вопрос

2
harrymc

Из статьи 0.0.0.0 :

Обычно компьютеры показывают адрес 0.0.0.0, когда они не подключены к сети TCP / IP. Имея этот адрес, компьютер не может связаться или связаться с другими устройствами через IP.

Программные приложения TCP / IP также используют 0.0.0.0 в качестве метода программирования для мониторинга сетевого трафика с любого действительного IP-адреса. Хотя подключенные компьютеры не используют этот адрес, сообщения, передаваемые по IP, иногда включают 0.0.0.0 в заголовок, когда источник сообщения неизвестен.

Цитирую также из этой темы :

IP-адрес 0.0.0.0 может иметь очень разные значения, в зависимости от того, где он используется.

  • Это недопустимый адрес, который должен быть передан действительному сетевому интерфейсу вместе с любым другим адресом в подсети 10.0.0.0/8 (т. Е. Любой адрес, начинающийся с 0.).
  • Его нельзя использовать в качестве адреса источника для любого IP-пакета, если только это не происходит, когда компьютер все еще не знает свой собственный IP-адрес и пытается получить его (классический пример: DHCP).
  • Если используется в таблице маршрутизации, она идентифицирует шлюз по умолчанию; маршрут к 0.0.0.0 является маршрутом по умолчанию, т.е. тот, который используется, когда нет более конкретного маршрута, доступного для адреса назначения.
  • Наконец, когда вы видите в выводе команды netstat (что вы и просили), это означает, что данный сокет прослушивает все доступные IP-адреса, которые есть у компьютера; когда компьютер имеет более одного IP-адреса, сокет может быть связан только с конкретным адресом и парой портов или с портом и всеми адресами; если вы видите там IP-адрес, это означает, что сокет прослушивает только этот порт и этот конкретный адрес; если вы видите 0.0.0.0, это означает, что он прослушивает этот порт на всех адресах машины, включая петлевой (127.0.0.1).

Одной из возможностей является ошибка в программном обеспечении на iPod / PS3, из-за которой забывают отказаться от адреса 0.0.0.0 после того, как DHCP предоставит реальный адрес.

Более зловещая возможность состоит в том, что какое-то программное обеспечение на этих устройствах прослушивает все, что проходит по вашей локальной сети. Хотя это весьма сомнительная возможность, я бы не стал входить на ваш банковский сайт, пока эти устройства находятся в сети.