La Fibre

Télécom => Logiciels et systèmes d'exploitation => Linux Linux => Discussion démarrée par: vivien le 15 mai 2011 à 12:30:07

Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: vivien le 15 mai 2011 à 12:30:07
TCPping un outil pour faire des ping via TCP quand ICMP ne répond pas

Il n'est pas possible de pinger certaines LiveBox d'Orange, NeufBox de SFR et Bbox de Bouygues Telecom.

Quelle solution ?
=> TCPping vers un port TCP où les box répondent systématiquement :

- Chez Orange, le port TCP 50805 répond systématiquement pour TR-069
- Chez Bouygues Telecom, le port TCP 51005 répond systématiquement pour TR-069
- Chez Free, le port 113 (ident) apparaît souvent fermé depuis l'extérieur, mais ce n'est pas systématique.
- Chez SFR, il n'y a pas de port TCP ouvert de l'extérieur, mais la Neufbox répond souvent au ping ICMP.




Installation TCPping version 1.8 :

Sous linux (Ubuntu / Debian), exécuter la ligne suivante dans un terminal (si vous n'êtes pas root, votre mot de passe sera demandé) :
sudo wget -O /usr/bin/tcpping https://lafibre.info/images/tcpping/tcpping (https://lafibre.info/images/tcpping/tcpping) ; sudo chmod +x /usr/bin/tcpping ; sudo apt -y install bc tcptraceroute



Aide :

Usage: tcpping [-d] [-c] [-C] [-w sec] [-q num] [-x count] ipaddress [port]

        -d   print timestamp before every result
        -c   print a columned result line
        -C   print in the same format as fping's -C option
        -w   wait time in seconds (defaults to 3)
        -r   repeat every n seconds (defaults to 1)
        -x   repeat n times (defaults to unlimited)


See also: man tcptraceroute
Titre: TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: vivien le 15 mai 2011 à 12:37:13
Exemple de TCPping vers une livebox (port TCP 51005) :

$ tcpping -r 0.2 -x 20 90.61.117.2 51005
seq 0: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.759 ms
seq 1: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.706 ms
seq 2: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.761 ms
seq 3: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.563 ms
seq 4: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.415 ms
seq 5: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.375 ms
seq 6: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.355 ms
seq 7: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.515 ms
seq 8: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.343 ms
seq 9: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.512 ms
seq 10: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.292 ms
seq 11: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.425 ms
seq 12: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.576 ms
seq 13: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.473 ms
seq 14: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.747 ms
seq 15: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.492 ms
seq 16: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.358 ms
seq 17: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.600 ms
seq 18: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.448 ms
seq 19: tcp response from AAubervilliers-752-1-30-2.w90-61.abo.wanadoo.fr (90.61.117.2) [closed]  3.379 ms



Exemple de TCPping vers une Bbox  (port TCP 51005) ne répondant pas au ping ICMP :

$ tcpping -r 0.2 -x 20 88.26.54.2 51005
seq 0: tcp response from 88.26.54.2 [open]  29.810 ms
seq 1: tcp response from 88.26.54.2 [open]  28.940 ms
seq 2: tcp response from 88.26.54.2 [open]  28.155 ms
seq 3: tcp response from 88.26.54.2 [open]  29.297 ms
seq 4: tcp response from 88.26.54.2 [open]  29.476 ms
seq 5: tcp response from 88.26.54.2 [open]  27.494 ms
seq 6: tcp response from 88.26.54.2 [open]  29.160 ms
seq 7: tcp response from 88.26.54.2 [open]  28.261 ms
seq 8: tcp response from 88.26.54.2 [open]  28.321 ms
seq 9: tcp response from 88.26.54.2 [open]  29.009 ms
seq 10: tcp response from 88.26.54.2 [open]  29.095 ms
seq 11: tcp response from 88.26.54.2 [open]  29.861 ms
seq 12: tcp response from 88.26.54.2 [open]  29.041 ms
seq 13: tcp response from 88.26.54.2 [open]  29.389 ms
seq 14: tcp response from 88.26.54.2 [open]  27.705 ms
seq 15: tcp response from 88.26.54.2 [open]  27.937 ms
seq 16: tcp response from 88.26.54.2 [open]  28.435 ms
seq 17: tcp response from 88.26.54.2 [open]  28.721 ms
seq 18: tcp response from 88.26.54.2 [open]  28.628 ms
seq 19: tcp response from 88.26.54.2 [open]  28.886 ms



Exemple d'absence de réponse :

$ tcpping -r 0.2 -x 20 89.93.19.5 51005
seq 0: no response (timeout)
seq 1: no response (timeout)
seq 2: no response (timeout)
seq 3: no response (timeout)
seq 4: no response (timeout)
seq 5: no response (timeout)
seq 6: no response (timeout)
seq 7: no response (timeout)
seq 8: no response (timeout)
seq 9: no response (timeout)
seq 10: no response (timeout)
seq 11: no response (timeout)
seq 12: no response (timeout)
seq 13: no response (timeout)
seq 14: no response (timeout)
seq 15: no response (timeout)
seq 16: no response (timeout)
seq 17: no response (timeout)
seq 18: no response (timeout)
seq 19: no response (timeout)
Titre: TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: vivien le 15 mai 2011 à 12:42:46
Installation d'autres version de TCPping
Exécuter la ligne dans un terminal (si vous n'êtes pas root, votre mot de passe sera demandé)

version 1.8 :
sudo wget -O /usr/bin/tcpping https://lafibre.info/images/tcpping/tcpping (https://lafibre.info/images/tcpping/tcpping) ; sudo chmod +x /usr/bin/tcpping ; sudo apt -y install tcptraceroute
Merci à Yann (https://lafibre.info/profile/Gilum/) (pseudo Gilum sur lafibre.info) pour la version 1.8 !

version 1.7 :
sudo wget -O /usr/bin/tcpping https://lafibre.info/images/tcpping/tcpping1.7 (https://lafibre.info/images/tcpping/tcpping1.7) ; sudo chmod +x /usr/bin/tcpping ; sudo apt -y install tcptraceroute

version 1.6 :
sudo wget -O /usr/bin/tcpping https://lafibre.info/images/tcpping/tcpping1.6 (https://lafibre.info/images/tcpping/tcpping1.6) ; sudo chmod +x /usr/bin/tcpping ; sudo apt -y install tcptraceroute


Comportement en absence de réponse avec l'option -C (pour SmokePing) :
La version 1.7 a un comportement anormal (réponse 255 en cas d'absence de réponse).

version 1.8 :
$ tcpping -C -x 5 88.26.54.2 51005
88.26.54.2 : - - - - -

version 1.7 :
$ tcpping -C -x 5 88.26.54.2 51005
88.26.54.2 : 255 255 255 255 255

version 1.6 :
$ tcpping -C -x 5 88.26.54.2 51005
88.26.54.2 : - - - - -


Comportement quand l'hôte répond avec l'option -C (pour SmokePing) :
La version 1.6 a un comportement anormal.

version 1.8 :
$ tcpping -C -x 5 lafibre.info
lafibre.info : 27.973 27.995 28.015 27.904 27.641

version 1.7 :
$ tcpping -C -x 5 lafibre.info
lafibre.info : 27.973 27.995 28.015 27.904 27.641

version 1.6 :
$ tcpping -C -x 5 lafibre.info
lafibre.info : - - - - -
Titre: TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: vivien le 15 mai 2011 à 12:47:29
TCPping est utilisable avec SmokePing :

Exemple pour faire un ping TCP sur le port 80 de n'importe quel site web :

++ lafibre_80
probe = TCPPing
menu = lafibre.info Port80
title = lafibre.info Port80 (Azylog) AS41405
host = 195.200.217.68
port = 80

N'oubliez pas de définir la "probe" TCPPing :

+TCPPing
binary = /usr/bin/tcpping
forks = 1

En cas de nombreux TCPping a effectuer, il est nécessaire de configurer plusieurs probe et de réparti les différents hôte a pinger vers les différentes probes TCPping :

+TCPPing
binary = /usr/bin/tcpping
forks = 20
offset = 20%

#+TCPPing2
#binary = /usr/bin/tcpping
#forks = 6
#offset = 34%

#+TCPPing3
#binary = /usr/bin/tcpping
#forks = 6
#offset = 51%

#+TCPPing4
#binary = /usr/bin/tcpping
#forks = 9
#offset = 68%

#+TCPPing5
#binary = /usr/bin/tcpping
#forks = 4
#offset = 85%

Pour les TCPPing2 à 5 il est nécessaire de faire ces modifications dans SMokePing :
# cd /usr/share/smokeping/lib/Smokeping/probes
# cp TCPPing.pm TCPPing2.pm
# cp TCPPing.pm TCPPing3.pm
# cp TCPPing.pm TCPPing4.pm
# cp TCPPing.pm TCPPing5.pm

Il est nécessaire de modifier le première ligne de chaque fichier afin que TCPPing reflète le nom :
package Smokeping::probes::TCPPing2;
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: corrector le 15 mai 2011 à 23:00:47
=> TCPping vers un port TCP où les box répondent systématiquement : le port TCP 51005 (même si fermé)
Tu as testé quelles box?

Ça intéresse quelqu'un de rassembler les infos sur le comportement des box depuis l'extérieur?
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: vivien le 16 mai 2011 à 07:25:19
J'ai testé les Livebox Orange et les Bbox Bouygues Telecom qui ne répondent pas au ping ICMP.

Les autres box répondent au ping ICMP normalement mais si tu veut je testerais le port 51005.
Le port 51005 c'est le port pour l'administration des Box en TR-69 (https://fr.wikipedia.org/wiki/TR-069).

J'ai fait une recherche sur Google TR-69 51005 (https://www.google.com/search?q=tr-69+51005) et je suis tombé un ping TCP d'une NeufBox (https://lafibre.info/sfr-la-fibre/offre-sfr-fibre-sur-le-pau-broadband-country-la-courbe-des-box-allumees) sur... lafibre.info donc je rajoute les NeufBox à la liste.
Titre: TCP/51005 sur les box
Posté par: corrector le 16 mai 2011 à 17:15:06
J'ai testé les Livebox Orange et les Bbox Bouygues Telecom qui ne répondent pas au ping ICMP.

Les autres box répondent au ping ICMP normalement mais si tu veut je testerais le port 51005.
Le port 51005 c'est le port pour l'administration des Box en TR-69 (https://fr.wikipedia.org/wiki/TR-069).
Ce qui veux donc dire que le port TCP/51005 est monopolisé par la box et ne peut plus être utilisé par l'abonné?

Sur Freebox, aucun port ni aucun protocole n'est pris par la box (jusqu'à preuve du contraire).
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: menet le 16 mai 2011 à 18:46:38
Existe t'il une version Windows de l'outil TCPping ?

L'avez-vous testé ?

Je n'ai pas cherché sur le WEB...  :-[

Merci pour les infos  ;)
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: corrector le 16 mai 2011 à 19:58:52
Existe t'il une version Windows de l'outil TCPping ?
Ça devrait marcher sur tout système qui comporte :
Donc avec Cygwin (http://www.cygwin.com), probablement pas de problème!
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: vivien le 16 mai 2011 à 23:09:32
Menet, si tu ne souhaite pas faire une compilation d'un outil linux sous Windows (bien plus difficile que de compiler un outil Linux sous Linux), tu peut utiliser Hping :
=> https://lafibre.info/tutoriels/hping (https://lafibre.info/tutoriels/hping)

Enjoy !
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: corrector le 17 mai 2011 à 00:14:11
Il y a aussi nmap (http://nmap.org/) qui est déjà compilé pour Windows (http://nmap.org/dist/nmap-5.51-setup.exe) et qui peut scanner n'importe quel port ou plage de ports TCP (SYN, ACK...), UDP ou protocole IP en IPv4 ou en IPv6.
Titre: TCP/51005 sur les box
Posté par: vivien le 23 mai 2011 à 22:44:59
Ce qui veux donc dire que le port TCP/51005 est monopolisé par la box et ne peut plus être utilisé par l'abonné?

Sur Freebox, aucun port ni aucun protocole n'est pris par la box (jusqu'à preuve du contraire).

Voici le message que j'ai sur la NeufBox de SFR quand je tente d'ouvrir un port réservé :

Vous ne pouvez pas utiliser les ports suivants :

    1287/tcp
    1288/tcp
    2427/udp
    53456-63546/udp
    1290-1299/tcp
    5060/udp
    35500-35599/udp
    68/udp
Titre: TCP/51005 sur les box
Posté par: corrector le 23 mai 2011 à 23:20:59
Voici le message que j'ai sur la NeufBox de SFR quand je tente d'ouvrir un port réservé :

Vous ne pouvez pas utiliser les ports suivants :

    1287/tcp
    1288/tcp
    2427/udp
    53456-63546/udp
    1290-1299/tcp
    5060/udp
    35500-35599/udp
    68/udp
51005 n'est pas dans liste!
Titre: Freebox, quand l'ICMP est bloqué : traceroute
Posté par: corrector le 17 juin 2011 à 05:57:10
TCPping un outil pour faire des ping via TCP quand ICMP ne répond pas

Il n'est pas possible de pinger certaines LiveBox d'Orange, NeufBox de SFR et Bbox de Bouygues Telecom.

Quelle solution ?
Pour une Freebox en mode routeur : traceroute

En effet, la Freebox en mode routeur est (un peu) un routeur IP et apparait donc dans un traceroute.
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: corrector le 23 juillet 2011 à 07:13:27
J'ai l'impression que ça ne marche pas bien avec les Freebox Révolution.

Et avec les autres box?
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: vivien le 10 avril 2012 à 09:32:27
Autre solution (utilise pour la 3G ou un proxy est en coupure de la connexion) : httping qui télécharge la page (sans les objets)

Comparatif de httping / mtr / tcpping depuis une connexion 3G Bouygues Telecom :

$ httping lafibre.info
PING lafibre.info:80 (lafibre.info):
connected to lafibre.info:80, seq=0 time=1468.85 ms
connected to lafibre.info:80, seq=1 time=1479.65 ms
connected to lafibre.info:80, seq=2 time=1461.02 ms
connected to lafibre.info:80, seq=3 time=1448.41 ms
Cconnected to lafibre.info:80, seq=4 time=2580.08 ms
--- lafibre.info ping statistics ---
5 connects, 5 ok, 0.00% failed
round-trip min/avg/max = 1448.4/1687.6/2580.1 ms


$ mtr -rc10 lafibre.info
HOST: VivienHP                    Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 10.134.63.3                0.0%    10   62.9 146.8  47.1 634.3 181.6
  2.|-- 10.134.3.139               0.0%    10   63.8 182.7  43.9 558.6 206.0
  3.|-- 10.125.21.225              0.0%    10   53.0 157.5  45.9 457.6 160.9
  4.|-- 10.125.21.222              0.0%    10   92.5 151.3  45.6 504.8 162.7
  5.|-- 46.227.16.8                0.0%    10   82.3 128.0  45.7 494.7 149.2


$ tcpping lafibre.info
seq 0: tcp response from lafibre.info (46.227.16.8) [open]  63.653 ms
seq 1: tcp response from lafibre.info (46.227.16.8) [open]  70.895 ms
seq 2: tcp response from lafibre.info (46.227.16.8) [open]  68.793 ms
seq 3: tcp response from lafibre.info (46.227.16.8) [open]  78.983 ms
seq 4: tcp response from lafibre.info (46.227.16.8) [open]  64.988 ms
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: corrector le 10 avril 2012 à 09:38:19
C'est monstrueux!
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: EVOTk le 20 août 2014 à 19:17:01
Merci beaucoup a vivien. Je chercher justement comment metre en place un "ping" tcp sur un smokegraph !

Ce post est très clair et sa fonctionne parfaitement.
Titre: Linux : TCPping - faire un ping TCP quand l'ICMP est bloqué
Posté par: Hugues le 08 décembre 2016 à 09:32:19
Quelqu'un sait pourquoi ce paquet n'est pas packagé Debian ou Ubuntu ?