3

У меня Freebsd в качестве роутера.
Локальная сеть находится на интерфейсе sk0: inet 10.254.239.1 netmask 0xffffff00 broadcast 10.254.239.255
В моей локальной сети у меня есть компьютер (windows 7), который получает свой ip (10.254.239.2) с DHCP-сервера на Freebsd.

  • Пинг до точного адреса 10.254.239.2 работает нормально.

Когда я пытаюсь пропинговать bradcast 10.254.239.255 с самого Freebsd, ничего не происходит:

--- 10.254.239.255 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
  • #arp -a говорит:
    ...
    ? (10.254.239.255) в (неполное) на sk0 истек [ethernet]
    ...

  • Брандмауэр позволяет все на этом интерфейсе

Где искать? Что нужно сделать, чтобы трансляция работала?

3 ответа3

8

Из соображений безопасности большинство операционных систем по умолчанию просто игнорируют широковещательные ICMP-пинги . Вы не "заставляете это работать", и это не влияет на другие виды трансляций.


В FreeBSD функция net.inet.icmp.bmcastecho sysctl включает эту функцию.

7

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

$ time ( s=192.168.0 ; for i in $(seq 1 254) ; do ( ping -n -c 1 -w 1 $s.$i 1>/dev/null 2>&1 && printf "%-16s %s\n" $s.$i responded ) & done ; wait ; echo )
192.168.0.5      responded
192.168.0.11     responded
192.168.0.2      responded
192.168.0.254    responded
192.168.0.4      responded

real    0m1.317s
user    0m0.004s
sys 0m0.084s
0

Я знаю, что этот вопрос очень старый, но это один из лучших результатов, когда вы гуглите «Ubuntu Broadcast Ping».

Я хотел бы добавить, что вы можете очень легко отправлять широковещательные ping-запросы (эхо-запросы ICMP) с хоста Linux с помощью опции -b. Microsoft по какой-то причине не позволяет этого.

Вот широковещательный пинг, отправленный с хоста Ubuntu:

ping -b 192.168.1.255
WARNING: pinging broadcast address
PING 192.168.1.255 (192.168.1.255) 56(84) bytes of data.
64 bytes from 192.168.1.247: icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=0.960 ms (DUP!)
64 bytes from 192.168.1.202: icmp_seq=1 ttl=64 time=92.3 ms (DUP!)

Обратите внимание на параметр -b, чтобы разрешить трансляцию. Как видите, ответили несколько хостов в моей сети, включая коммутатор Cisco, мой собственный хост Ubuntu и ноутбук Apple.

И да, как уже говорили другие, широковещательные пинги ужасны для сканирования сети. Некоторые хосты просто игнорируют эхо-запросы. Для этого есть гораздо лучшие инструменты (например, nmap).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .