2010-09-23 14 views
8

Al utilizar ping en casi todos los sistemas UNIX disponibles, ping a la dirección de difusión es simple: (! Y continuamente molesto)Linux de ping emisión interruptor

$ ping 192.168.11.255 

Sin embargo, cuando esto se hace en Linux, un no-estándar la respuesta se produce:

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

esto me ha molestado a ningún extremo desde que lo vi por primera vez - de ping Linux no solía ser así. Busqué la fuente de este modificador y no puedo encontrar cuándo fue o cualquier discusión sobre por qué era necesario.

Parece que este interruptor ni siquiera se consideró suficiente:

$ 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 

¿Es esto realmente necesario? Es muy tentador escribir un parche que arregle ping de Linux para que funcione como debería ...

No puedo creer que nadie más se haya quejado de esto, pero no puedo encontrarlo en Google si lo hicieron .

+0

Estoy de acuerdo. Tengo curiosidad también por qué esto ha sido agregado. – aioobe

+0

Desea pensar dos veces antes de hacer esto para no bloquear la red haciendo que cientos de máquinas respondan con un paquete ICMP. – nos

+1

Esto debería estar en superuser.com .... – t0mm13b

Respuesta

2

Se puede poner

alias ping='ping -b' 

en su archivo .bashrc :-)

+0

Creo que esta pregunta era más acerca de por qué existe el cambio en primer lugar. –

+0

Matti tiene razón. Además, el modificador -b solo funciona si la dirección es una dirección de difusión; de lo contrario, se mostrará una pantalla de uso en su lugar. – Mei

+0

@Matti: Sí, entiendo que la pregunta era sobre la razón por la que se agrega el modificador '-b', en lugar de una solución para ello. @David: Funciona aquí. Como entiendo las cosas del código fuente ping (http://www.linux-ipv6.org/gitweb/gitweb.cgi?p=gitroot/iputils.git;a=blob;f=ping.c;h=4472d777f7e098525b57c09c8f748ec877e6d518; hb = HEAD) solo permite la transmisión configurando una opción de socket. Aunque creo que podría no funcionar en algunos sistemas. –

1

concebible que puedo pensar en una situación en la que este podría ser útil. Si está en una red con una dirección de difusión configurada que no es la dirección donde todos los bits de host son uno. Por lo tanto, es posible que accidentalmente haga ping a la dirección de transmisión si no hubiera un aviso. Y supongo que eso es malo.