Le poulpe qui bloppe !, jeudi 14 décembre 2006, 18:56:14 CET > > Bonsoir la liste. > J'ai une envie bete, inutile et futile (donc indispensable) mais qui > me tiens à coeur. > En effet, un ping répond avec des textes préconfigurés, comme par > exemple: > > #ping localhost > PING localhost.localdomain (127.0.0.1) 56(84) bytes of data. > 64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 > time= 0.072 ms > > Moi j'aimerais juste pour le fun qu'il réponde PONG au lieu de PING, > comme cela par exemple: > > #ping localhost > PONG localhost.localdomain (127.0.0.1) 56(84) bytes of data. > PONG OK for 64 bytes from localhost.localdomain (127.0.0.1): > icmp_seq=1 ttl=64 time=0.072 ms > > Je me doute qu'il va falloir recompiler quelques trucs, mais mon > probleme c'est que j'ai jamais compilé. J'ai déja lu plein de tuto > sur le net, je pense arriver à compiler, et à retoucher le code. Mais > j'ai aucune idée d'où se trouvent les sources, et dans quel paquage. > > Si une bonne âme à une idée.... > > Merci, et bonne soirée.
$ dpkg -S /bin/ping iputils-ping: /bin/ping $ apt-get source iputils-ping Lecture des listes de paquets... Fait Construction de l'arbre des dépendances... Fait Nécessité de prendre 132ko dans les sources. Réception de : 1 http://ftp.fr.debian.org sid/main iputils 3:20020927-3.1 (dsc) [673B] Réception de : 2 http://ftp.fr.debian.org sid/main iputils 3:20020927-3.1 (tar) [121kB] Réception de : 3 http://ftp.fr.debian.org sid/main iputils 3:20020927-3.1 (diff) [10,4kB] 132ko réceptionnés en 1s (107ko/s) gpg: Signature made dim 15 oct 2006 06:01:49 CEST using DSA key ID 788A3F4C gpg: Can't check signature: public key not found dpkg-source : extraction de iputils dans iputils-20020927 dpkg-source : extraction de iputils_20020927.orig.tar.gz dpkg-source : ./iputils_20020927-3.1.diff.gz $ cd iputils-20020927/ $ grep PING * arping.c: printf("ARPING %s ", inet_ntoa(dst)); ping6.c: printf("PING %s(%s) ", hostname, pr_addr(&whereto.sin6_addr)); ping.c: printf("PING %s (%s) ", hostname, inet_ntoa(whereto.sin_addr)); ping_common.c: options |= F_PINGFILLED; ping_common.c: if (!(options & F_PINGFILLED)) { ping_common.h:#define F_PINGFILLED 0x008 $ sed -ie s/PING/PONG/ ping.c ping6.c $ make ping ping6 [...] $ cp ping ping6 ~/bin $ cd ~/bin $ su -c 'chown root.root ping* ; chmod u+s ping*' $ ping localhost PONG localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.067 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.049 ms Au lieu du make, tu peux faire un debuild qui : – te dira quels paquets sont nécessaires ; – te construira des paquets de remplacement (iputils fournit aussi tracepath et arping). -- Sylvain Sauvage

