Schließen Sie eine TCP-Verbindung mit nmap

743
Florian Bidabe

Ich versuche, Verbindungen in der Befehlszeile zu schließen. Ich versuche zum Beispiel, meine SSH-Verbindung mit diesem Nmap-Befehl zu trennen:

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

Sobald ein TCP-Handshake abgeschlossen ist (die SYN-, SYN-ACK- und ACK-Sequenzen sind abgeschlossen) und die Verbindung hergestellt ist, ist der Server oder Client dazu in der Lage, diese Verbindung durch Senden einer FIN oder nicht-Grace durch Senden einer RST.

Ich habe auch versucht, meinen Server zu fälschen, um die Verbindung auf meinem Client zu schließen:

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

Diese Befehle haben keine Auswirkungen. Weiß jemand, warum die Verbindung nicht geschlossen wird?

1
Nun, zuerst müsste man die TCP-Verbindung tatsächlich entführen, um eine FIN oder RST in sie einzubringen. Wenn das Gerät nicht die korrekten SYN- und ACK-Werte von Ihrem Paket erhält, wird es es ignorieren. Die meisten modernen IP-Stapel sind zu hoch entwickelt, um die Werte vorherzusagen, die es ermöglichen, das Paket als Teil der logischen Verbindung zu verarbeiten. Darüber hinaus erfordert TCP, dass beide Enden einen FIN bestätigen, sodass der Client FINs, die Serverantwort mit einem ACK und dann einen separaten FIN abschließt, so dass beide Enden zustimmen, dass die Verbindung geschlossen wird. Frank Thomas vor 8 Jahren 0
Aber ich erwarte das sehen Close_Wait nach dem Senden eines FIN, aber das passiert nicht. Wie kann TCPView eine Verbindung schließen? Hijack es die Verbindung? Ist das mit tcpvcon oder hping möglich? Florian Bidabe vor 8 Jahren 0
Einfach ausgedrückt: Sie werden wahrscheinlich nicht in der Lage sein, das zu tun, was Sie möchten. Computeringenieure und Wissenschaftler haben jahrzehntelang ein System entwickelt, das Ihnen ausdrücklich verbietet, das zu tun, was Sie versuchen. Frank Thomas vor 8 Jahren 0
Vielen Dank für Ihre Antwort, das ist zu breit, ich hoffe, dass jemand mit einer technischen Analyse kommen kann. Ich mache eine Netzwerkablaufverfolgung und vergleiche, was beim Schließen einer Verbindung mit TCPView und bei diesem Befehl nmap geschieht. Florian Bidabe vor 8 Jahren 0
Mit allen Mitteln. Ich empfehle Ihnen, sich mit dem Drei-Wege-TCP-Handshake darüber zu informieren, wie Verbindungen erstellt werden. So können Sie besser verstehen, warum ein Paket außerhalb der logischen Verbindung ignoriert wird und wie es identifiziert wird (z. B. ungültige SYN- und ACK-Werte). BTW tcpview weist das Betriebssystem nur an, den Port zu schließen. Es sendet kein Paket. Frank Thomas vor 8 Jahren 0
Vielen Dank für Ihre Beiträge Frank, Sie beantworten meine Frage immer noch nicht. Möchten Sie eine Antwort mit einigen technischen Details posten, wenn Sie verstehen, warum dies nicht funktioniert? Welche Eigenschaft dieses von nmap erzeugten TCP-Pakets ist unerwartet? Florian Bidabe vor 8 Jahren 0

1 Antwort auf die Frage

0
Florian Bidabe

Nmap ist nicht das richtige Werkzeug für diesen Job.

Um die Verbindung zu trennen, muss ich die TCP-Sequenznummer vorhersagen, sie um eins erhöhen und eine FIN oder RST beantworten. Es scheint, als würde Scapy es mir erlauben ... Ich werde diese Antwort nach einigen praktischen Tests aktualisieren