2010-09-23 2 views
8

При использовании пинг практически на любой системе UNIX доступны, пинговать широковещательный адрес прост: (! И постоянно раздражает)Linux пинг широковещательный переключатель

$ ping 192.168.11.255 

Однако, когда это делается на Linux, нестандартным ответ происходит:

$ ping 192.168.11.255 
Do you want to ping broadcast? Then -b 

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

Похоже, этот переключатель даже не был признан достаточно:

$ ping -b 192.168.11.255 
WARNING: pinging broadcast address 
PING 192.168.11.255 (192.168.11.255) 56(84) bytes of data. 
64 bytes from 192.168.11.22: icmp_seq=1 ttl=64 time=0.225 ms 

Является ли это действительно необходимо? Очень жаль писать патч, который исправит Linux ping, поэтому он работает так, как должен ...

Я не могу поверить, что никто другой не пожаловался на это, но я не могу найти его в Google, если они это сделали ,

+0

Согласен. Мне тоже любопытно, почему это было добавлено. – aioobe

+0

Вы хотите дважды подумать, прежде чем делать это, чтобы не затормозить сеть, если сотни машин ответят ICMP-пакетом. – nos

+1

Это должно быть на superuser.com .... – t0mm13b

ответ

2

Вы можете поместить

alias ping='ping -b' 

в файле .bashrc :-)

+0

Я думаю, что этот вопрос больше походил на то, почему коммутатор существует в первую очередь. –

+0

Матти прав. Кроме того, ключ -b работает только в том случае, если адрес является широковещательным адресом; в противном случае вместо этого отображается результат использования. – Mei

+0

@Matti: Да, я понимаю, что вопрос был связан с тем, что добавлен переключатель '-b', в отличие от обходного пути для него! @David: Работает здесь. Поскольку я понимаю вещи из исходного кода ping (http://www.linux-ipv6.org/gitweb/gitweb.cgi?p=gitroot/iputils.git;a=blob;f=ping.c;h=4472d777f7e098525b57c09c8f748ec877e6d518; hb = HEAD), он просто разрешает вещание, устанавливая параметр сокета. Я думаю, что это может не работать в некоторых системах. –

1

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

Смежные вопросы