Fermer une connexion TCP avec nmap

1

J'essaie de fermer les connexions en ligne de commande. Par exemple, j'essaie de fermer ma connexion SSH avec cette commande Nmap:

$ sudo nmap -p 22 --scanflags RST <mySSHServerPublicIP>
$ sudo nmap -p 22 --scanflags FIN <mySSHServerPublicIP>

Une fois la négociation TCP terminée (les séquences SYN, SYN-ACK, ACK sont terminées) et que la connexion est établie, je comprends que le serveur ou le client ferme cette connexion en envoyant un FIN, ou pas en envoyant un message. RST.

J'ai également essayé d'usurper mon serveur pour fermer la connexion sur mon client:

$ sudo nmap -p 23926 --scanflags FIN -S <mySSHServerPublicIP> <MyLocalIP> -Pn -n -e <interface>

Ces commandes n’ont aucun effet. Quelqu'un sait-il pourquoi il ne ferme pas la connexion?

Florian Bidabe
la source
Eh bien, vous devez d’abord détourner la connexion TCP pour y injecter une FIN ou une RST. si le périphérique ne reçoit pas les valeurs SYN et ACK correctes de votre paquet, il l'ignorera. La plupart des piles IP modernes sont trop sophistiquées pour prévoir les valeurs qui permettront au paquet d'être traité dans le cadre de la connexion logique. De plus, TCP requiert que les deux extrémités accusent réception d'un FIN, de sorte que le FIN client, la réponse du serveur avec un ACK, puis un FIN distinct, de sorte que les deux extrémités conviennent que la connexion est fermée.
Frank Thomas
Mais j'attends le voir Close_Wait, après l'envoi d'un FIN, mais cela ne se produit pas Comment TCPView peut-il fermer une connexion? Est-ce qu'il détourne la connexion? Est-ce possible avec tcpvcon ou hping?
Florian Bidabe
En termes simples, vous ne pourrez probablement pas faire ce que vous voulez. Les ingénieurs en informatique et les scientifiques ont passé des décennies à développer un système qui vous interdit expressément de faire ce que vous essayez de faire.
Frank Thomas
Merci pour votre réponse, c'est trop large, j'espère que quelqu'un pourra venir avec une analyse technique. Je vais faire une trace réseau et comparer ce que la fermeture d'une connexion avec TCPView fait et ce que fait cette commande nmap.
Florian Bidabe
Par tous les moyens. Je vous recommande de lire sur le protocole TCP à trois voies pour savoir comment les connexions sont créées. cela vous aidera à comprendre pourquoi un paquet provenant de l'extérieur de la connexion logique est ignoré et comment il est identifié (par exemple, des valeurs SYN et ACK non valides). BTW tcpview indique simplement au système d’exploitation de fermer le port. il n'envoie pas de paquet.
Frank Thomas

Réponses:

0

Nmap n'est pas le bon outil pour ce travail.

Afin de fermer la connexion, je dois prédire le numéro de séquence TCP, l'incrémenter de un et répondre à FIN ou RST. Il semble que Scapy me permettrait de le faire ... Je mettrai à jour cette réponse après quelques tests pratiques

Florian Bidabe
la source