2010-09-23 4 views
8

Lorsque vous utilisez ping sur pratiquement tous les systèmes UNIX disponibles, pinger l'adresse de diffusion est simple: (! Et toujours ennuyeux)Linux ping diffusion commutateur

$ ping 192.168.11.255 

Cependant, lorsque cela est fait sous Linux, un non standard réponse se produit:

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

cela m'a ennuyé sans fin depuis que je l'ai vu pour la première fois - Linux ping n'a pas l'habitude d'être de cette façon. J'ai cherché la source de ce commutateur, et ne peux pas trouver quand il est entré ou toute discussion pour savoir pourquoi c'était nécessaire.

Il semble que ce commutateur n'a même pas été assez réputé:

$ 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 

Est-ce vraiment nécessaire? Il est très tentant d'écrire un correctif qui corrigera le ping Linux pour qu'il fonctionne comme il se doit ...

Je ne peux pas croire que personne d'autre ne se soit plaint à ce sujet, mais je ne peux pas le trouver sur Google s'il le faisait .

+0

Je suis d'accord. Je suis curieux aussi pourquoi cela a été ajouté. – aioobe

+0

Vous voulez réfléchir à deux fois avant de faire cela pour ne pas bloquer le réseau en ayant des centaines de machines répondent avec un paquet ICMP. – nos

+1

Cela devrait être sur superuser.com .... – t0mm13b

Répondre

2

Vous pouvez mettre

alias ping='ping -b' 

dans votre fichier .bashrc :-)

+0

Je pense que cette question était plus sur pourquoi le commutateur existe en premier lieu. –

+0

Matti a raison. De plus, le commutateur -b ne fonctionne que si l'adresse est une adresse de diffusion; sinon, un résultat d'affichage de l'utilisation à la place. – Mei

+0

@Matti: Oui, je comprends que la question était sur la raison pour laquelle le commutateur '-b' a été ajouté, par opposition à une solution de contournement pour cela! @ David: Fonctionne ici. Comme je comprends les choses du code source ping (http://www.linux-ipv6.org/gitweb/gitweb.cgi?p=gitroot/iputils.git;a=blob;f=ping.c;h=4472d777f7e098525b57c09c8f748ec877e6d518; hb = HEAD) il permet juste de diffuser en réglant une option de socket. Je suppose que cela pourrait ne pas fonctionner sur certains systèmes, cependant. –

1

Je peux imaginer penser à un scénario où cette pourrait être utile. Si vous êtes sur un réseau avec une adresse de diffusion configurée qui n'est pas l'adresse où tous les bits d'hôte sont un. Ainsi, vous pourriez éventuellement ping sur l'adresse de diffusion accidentellement s'il n'y avait pas une telle invite. Et je suppose que c'est mauvais.