Überwachen Sie den Port in PowerShell

Sheeraz Gul 15 Februar 2024
Ü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:

  1. 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 auf Als Administrator ausführen.

    Das System kann um Erlaubnis bitten; klicken Sie auf Ja.

  2. 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 Pfad C:\Users\Sheeraz. Siehe die Ausgabe:

    	Directory: C:\Users\Sheeraz
    
    
    Mode                 LastWriteTime         Length Name
    ----                 -------------         ------ ----
    -a----         11/3/2022   4:02 PM              0 DemoTCPServer.ps1
    
  3. 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.

  4. 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"
```
  1. 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
    
  2. 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 der telnet-Dienst aktiviert ist, was unter Systemsteuerung > Programme > Windows-Funktionen ein- oder ausschalten überprüft werden kann.

    Siehe den Befehl:

    telnet 10.10.10.10 8080
    
  3. Wir können auch eine Telnet-Client-Anwendung wie PuTTY verwenden, die von hier heruntergeladen werden kann. Vergessen Sie nicht, bei der Verbindungsart Andere und Telnet auszuwählen.

    Siehe Screenshot unten.

    PuTTY-Telnet-Client

  4. Geben Sie die IP und den Port ein und klicken Sie dann auf Öffnen.

    PuTTY-Client-Terminal

  5. 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
    

    Hören Sie auf Port Test

  6. Die oben gesendeten Daten werden in der Datei 'C:\Users\Sheeraz\demo.txt' gespeichert, was bedeutet, dass der Port abgehört wird.

    Hören Sie auf Port-Ausgang

  7. Um schließlich die TCP-Verbindung zu schließen, führen Sie den Befehl quit aus.

Sheeraz Gul avatar Sheeraz Gul avatar

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