• [^] # Re: pas compris

    Posté par . En réponse à la dépêche « Internet est cassé » ou plutôt : comment tester du TCP ou de l’UDP. Évalué à 6.

    C'est toujours le cas devant une langue étrangère si tu ne parles pas la langue en question.

    M'enfin, c'est principalement du shell... pas une langue étrangère... en tout cas, pas pour moi.

    Quelles sont tes questions ?

    Si je prend juste le 1er exemple (mais à vue de nez, ils sont tous du même acabit):

    $ telnet 127.0.0.1 60001
     (durée d'exécution 00:00)
    Trying 127.0.0.1...telnet: Unable to connect to remote host: Connection refused
     (code de retour 1)
    $ nc -t -v 127.0.0.1 60001
     (durée d'exécution 00:00)
    nc: connect to 127.0.0.1 port 60001 (tcp) failed: Connection refused
     (code de retour 1)
    $ bash -c exec 3<>/dev/tcp/127.0.0.1/60001
     (durée d'exécution 00:00)
    bash: connect: Connexion refusée
    bash: /dev/tcp/127.0.0.1/60001: Connexion refusée
     (code de retour 1)
    $ zsh -c autoload -U tcp_open;tcp_open 127.0.0.1 60001
     (durée d'exécution 00:00)
    tcp_open:ztcp:174: connection failed: connexion refusée
     (code de retour 1)
    $ nmap -v -sT -p 60001 127.0.0.1
     (durée d'exécution 00:00)
    Starting Nmap 7.70 ( https://nmap.org ) at 2019年06月30日 19:06 CEST
    Initiating Ping Scan at 19:06
    Scanning 127.0.0.1 [2 ports]
    Completed Ping Scan at 19:06, 0.00s elapsed (1 total hosts)
    Initiating Connect Scan at 19:06
    Scanning localhost (127.0.0.1) [1 port]
    Completed Connect Scan at 19:06, 0.00s elapsed (1 total ports)
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00011s latency).
    PORT STATE SERVICE
    60001/tcp closed unknown
    Read data files from: /usr/bin/../share/nmap
    Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
     (code de retour 0)
    $ sudo traceroute -T -N 1 -m 1 -q 1 -p 60001 127.0.0.1 -O info
     (durée d'exécution 00:00)
    traceroute to 127.0.0.1 (127.0.0.1), 1 hops max, 60 byte packets
     1 localhost (127.0.0.1) <rst,ack> 0.033 ms
     (code de retour 0)
    $ openssl s_client -connect 127.0.0.1:60001
     (durée d'exécution 00:00)
    140595570463872:error:0200206F:system library:connect:Connection refused:../crypto/bio/b_sock2.c:110:
    140595570463872:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
    connect:errno=111
     (code de retour 1)
    $ ssh -p 60001 127.0.0.1
     (durée d'exécution 00:00)
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    ssh: connect to host 127.0.0.1 port 60001: Connection refused
     (code de retour 255)
    $ perl -e use IO::Socket::INET;new IO::Socket::INET ( PeerHost => "127.0.0.1", PeerPort => "60001", Proto => "tcp",) or die "ERROR in Socket Creation : $!\n";
     (durée d'exécution 00:00)
    ERROR in Socket Creation : Connection refused
     (code de retour 111)
    $ python3 -c import socket;socket.socket().connect(("127.0.0.1",60001))
     (durée d'exécution 00:00)
    Traceback (most recent call last):
     File "<string>", line 1, in <module>
    ConnectionRefusedError: [Errno 111] Connection refused
     (code de retour 1)
    $ ruby -e require "socket";s = TCPSocket.open("127.0.0.1", 60001)
     (durée d'exécution 00:00)
    -e:1:in `initialize': Connection refused - connect(2) for "127.0.0.1" port 60001 (Errno::ECONNREFUSED)
     from -e:1:in `open'
     from -e:1:in `<main>'
     (code de retour 1)
    $ curl -v -s --max-time 60 http://127.0.0.1:60001
     (durée d'exécution 00:00)
    * Expire in 0 ms for 6 (transfer 0x55bf2d3fec40)
    * Expire in 60000 ms for 8 (transfer 0x55bf2d3fec40)
    * Trying 127.0.0.1...
    * TCP_NODELAY set
    * Expire in 200 ms for 4 (transfer 0x55bf2d3fec40)
    * connect to 127.0.0.1 port 60001 failed: Connexion refusée
    * Failed to connect to 127.0.0.1 port 60001: Connexion refusée
    * Closing connection 0
     (code de retour 7)
    $ wget --timeout=60 --tries=1 http://127.0.0.1:60001
     (durée d'exécution 00:00)
    --2019年06月30日 19:06:05-- http://127.0.0.1:60001/
    Connexion à 127.0.0.1:60001... échec : Connexion refusée.
     (code de retour 4)
    $ links -dump http://127.0.0.1:60001
     (durée d'exécution 00:00)
    Connection refused
     (code de retour 1)
    $ chromium http://127.0.0.1:60001
     (Ce site est inaccessible. 127.0.0.1 n'autorise pas la connexion. ERR_CONNECTION_REFUSED)
    $ firefox http://127.0.0.1:60001
     (Unable to connect Firefox can’t establish a connection to the server at 127.0.0.1:60001)
    

    Pour l'anecdote, ce pavé est tellement long qu'il semblerait que le select/paste d'X11 a besoin de s'y reprendre à 2 fois.

    Pour l'explication de ce qui me plaît pas, perso, je pense que séparer les commandes entres elles aurait rendu la chose nettement plus lisible: ici, on ne peux même pas aisément voir où s'arrête ou se finit une commande.
    De plus, scinder aurait permis d'éventuels commentaires sur les options ou la sortie du programme, voire, soyons fous, un commentaire sur la raison de choisir telle ou telle alternative.

    Que te manque-t-il dans les explications qui manquent selon toi ?

    Je pense avoir donné quelques indices plus haut dans ce post: pourquoi utiliser telle ou telle alternative, quelles sont les avantages et inconvénients, ce genre de trucs.
    Je suis désolé pour ceux qui n'apprécient pas de lire ça, mais même si je reconnais le travail qu'il y a du y avoir pour lister tout ça, je ne suis pas convaincu que la forme lui rende justice, bien au contraire.

    Tu peux mettre une autre IPv4 que 127.0.0.1 si tu veux, ça change rien à la question des flux TCP / UDP.

    Ben si, déjà pas besoin de DNS, qui est un des composants les plus fragiles selon mon vécu propre et me semble bien que localhost est traité de manière spécifique par le noyal, bien que j'aie aucune certitude sur ce point.
    Accessoirement, le titre du journal dit bien "internet est cassé", et désolé, mais je ping pas perdu.com sur localhost moi.