Überwachen Sie den Port in PowerShell
Dieses Tutorial zeigt, wie Sie einen Port in PowerShell abhören.
PowerShell-Überwachung am Port
Das Abhören eines Ports kann mithilfe von PowerShell mit schrittweisen Befehlen erreicht werden. Wir können einen Listener mit dem Befehl [System.Net.Sockets.TcpListener]Port
in PowerShell initialisieren.
Führen Sie die folgenden Schritte aus, um einen Port mit PowerShell abzuhören:
-
Zuerst müssen wir PowerShell als Administrator öffnen. Suchen Sie im Startmenü nach
PowerShell
, klicken Sie mit der rechten Maustaste auf das PowerShell-Symbol und klicken Sie dann aufAls Administrator ausführen
.Das System kann um Erlaubnis bitten; klicken Sie auf
Ja
. -
Erstellen Sie im nächsten Schritt ein PowerShell-Skript. Führen Sie den folgenden Befehl aus:
New-Item 'C:\Users\Sheeraz\DemoTCPServer.ps1' -type file
Der obige Befehl erstellt eine PowerShell-Datei namens
DemoTCPServer.ps1
im PfadC:\Users\Sheeraz
. Siehe die Ausgabe:Directory: C:\Users\Sheeraz Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 11/3/2022 4:02 PM 0 DemoTCPServer.ps1
-
Nachdem die Datei erstellt wurde, besteht der nächste Schritt darin, das Skript zu bearbeiten. Führen Sie den folgenden Befehl aus:
ise C:\Users\Sheeraz\DemoTCPServer.ps1
Der obige Befehl bearbeitet die Datei
DemoTCPServer.ps1
in PowerShell ISE. -
Wir folgen einem schrittweisen Prozess für das Skript
DemoTCPServer.ps1
.-
Initialisieren Sie zunächst die Variablen für den Port, eine Textdatei und das Serverbanner.
-
Erstellen Sie dann einen Endpunkt auf dem angegebenen Port.
-
Erstellen Sie nun mit dem Befehl
New-Object System.Net.Sockets.TcpListener $DemoEndpoint
einen TCP-Port mit einem Listener. Dies wird uns helfen, auf einem Port zu lauschen. -
TCP-Port starten.
-
Erlauben Sie dem TCP-Port, den TCP-Client zu akzeptieren.
-
Erstellen Sie einen Stream des TCP-Clients.
-
Erstellen Sie jetzt einen Writer mit dem Stream.
-
Verwenden Sie das Banner, um die Zeilen zu schreiben und den Schreiber zu spülen.
-
Erstellen Sie nun einen Buffer, um den Stream zu lesen und auf einem Port zu lauschen.
-
Verwenden Sie eine Schleife, um jede Zeile des Streams zu lesen.
-
Wir haben das Abhören des Ports durchgeführt und verfügen nun über den Puffer, den Stream und den TCP-Client.
-
Stoppen Sie abschließend den TCP-Port. Implementieren wir diese Schritte im PowerShell-Skript
DemoTCPServer.ps1
.
```powershell $DemoPort = 8080 $DemoFile = 'C:\Users\Sheeraz\demo.txt' $DemoBanner = "Connection: OK" $DemoEndpoint = New-Object System.Net.IPEndPoint([IPAddress]::Any,$DemoPort) $DemoTCPPort = New-Object System.Net.Sockets.TcpListener $DemoEndpoint $DemoTCPPort.Start() Write-Output "The TCP Port $DemoPort is Open Now" $AcceptIngTcp = $DemoTCPPort.AcceptTcpClient() $Stream = $AcceptIngTcp.GetStream() $DemoWriter = New-Object System.IO.StreamWriter($Stream) $DemoBanner | % { $DemoWriter.WriteLine($_) $DemoWriter.Flush() } while($true) { $DemoBuffer = New-Object System.IO.StreamReader $Stream $DEMOLINE = $DemoBuffer.ReadLine() if ($DEMOLINE -eq "quit") { break } else { $DEMOLINE $DEMOLINE | Out-File $DemoFile -Append } } $DemoBuffer.Dispose() $Stream.Dispose() $AcceptIngTcp.Dispose() $DemoTCPPort.Stop() Write-Output "The TCP Port $DemoPort is Closed" ```
-
Sobald das Skript erstellt ist, speichern Sie es. Jetzt ist es an der Zeit, das Skript auszuführen, um einen TCP-Port mit Listen-on-Port-Operation zu erstellen; Führen Sie den folgenden Befehl aus:
PowerShell.exe -ExecutionPolicy Bypass -File C:\Users\Sheeraz\DemoTCPServer.ps1
Der obige Befehl startet nun einen TCP-Port und lauscht auf einem Port. Die Ausgabe für den Befehl ist unten.
The TCP Port 8080 is Open Now
-
Um sich mit dem TCP-Port auf einem Remote-Computer zu verbinden, führen Sie den folgenden
telnet
-Befehl in cmd aus. Stellen Sie zunächst sicher, dass dertelnet
-Dienst aktiviert ist, was unterSystemsteuerung
>Programme
>Windows-Funktionen ein- oder ausschalten
überprüft werden kann.Siehe den Befehl:
telnet 10.10.10.10 8080
-
Wir können auch eine
Telnet
-Client-Anwendung wiePuTTY
verwenden, die von hier heruntergeladen werden kann. Vergessen Sie nicht, bei der VerbindungsartAndere
undTelnet
auszuwählen.Siehe Screenshot unten.
-
Geben Sie die IP und den Port ein und klicken Sie dann auf
Öffnen
. -
Jetzt können wir dieses Terminal verwenden, um Daten über eine Verbindung zu senden und einen Port abzuhören. Zum Beispiel:
This is PowerShell Listen on Port Test
-
Die oben gesendeten Daten werden in der Datei
'C:\Users\Sheeraz\demo.txt'
gespeichert, was bedeutet, dass der Port abgehört wird. -
Um schließlich die TCP-Verbindung zu schließen, führen Sie den Befehl
quit
aus.
-
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook