HOWTO · PowerShell
PowerShell のポートでリッスンする
このチュートリアルでは、PowerShell でポートをリッスンする方法を示します。
このチュートリアルでは、PowerShell でポートをリッスンする方法を示します。
ポートでリッスンする PowerShell
ポートでのリッスンは、PowerShell と段階的なコマンドを使用して実現できます。 PowerShell で [System.Net.Sockets.TcpListener]Port コマンドを使用してリスナーを初期化できます。
PowerShell を使用してポートでリッスンするには、次の手順に従います。
-
まず、管理者として PowerShell を開く必要があります。 [スタート] メニューで
PowerShellを検索し、PowerShell アイコンを右クリックして、[管理者として実行] をクリックします。システムが許可を求める場合があります。
はいをクリックします。 -
次のステップで PowerShell スクリプトを作成します。 次のコマンドを実行します。
New-Item 'C:\Users\Sheeraz\DemoTCPServer.ps1' -type file上記のコマンドは、パス
C:\Users\SheerazにDemoTCPServer.ps1という名前の PowerShell ファイルを作成します。 出力を参照してください。Directory: C:\Users\Sheeraz Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 11/3/2022 4:02 PM 0 DemoTCPServer.ps1 -
ファイルが作成されたら、次のステップはスクリプトの編集です。 次のコマンドを実行します。
ise C:\Users\Sheeraz\DemoTCPServer.ps1
上記のコマンドは、PowerShell ISE でファイル `DemoTCPServer.ps1` を編集します。
-
DemoTCPServer.ps1スクリプトの段階的なプロセスに従います。-
まず、ポート、テキスト ファイル、およびサーバー バナーの変数を初期化します。
-
次に、指定されたポートにエンドポイントを作成します。
-
次に、
New-Object System.Net.Sockets.TcpListener $DemoEndpointコマンドを使用して、リスナーを持つ TCP ポートを作成します。 これは、ポートでリッスンするのに役立ちます。 -
TCP ポートを開始します。
-
TCP ポートが TCP クライアントを受け入れることを許可します。
-
TCP クライアントのストリームを作成します。
-
次に、ストリームを使用してライターを作成します。
-
バナーを使用して行を書き込み、ライターをフラッシュします。
-
ここで、ポートでリッスンするストリームを読み取るためのバッファを作成します。
-
ループを使用して、ストリームの各行を読み取ります。
-
ポートでリッスンを実行し、バッファ、ストリーム、および TCP クライアントを破棄します。
-
最後に、TCP ポートを停止します。 これらの手順を PowerShell スクリプト
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" ```-
スクリプトが作成されたら、保存します。 今度はスクリプトを実行して、リッスン オン ポート操作で TCP ポートを作成します。 次のコマンドを実行します。
PowerShell.exe -ExecutionPolicy Bypass -File C:\Users\Sheeraz\DemoTCPServer.ps1上記のコマンドは、TCP ポートを開始し、ポートをリッスンします。 コマンドの出力は次のとおりです。
The TCP Port 8080 is Open Now -
リモート コンピューターの TCP ポートに接続するには、cmd で次の
telnetコマンドを実行します。 まず、telnetサービスが有効になっていることを確認します。これは、コントロール パネル>プログラム>Windows の機能の有効化または無効化から確認できます。次のコマンドを参照してください。
telnet 10.10.10.10 8080 -
ここ からダウンロードできる
PuTTYのようなtelnetクライアント アプリケーションを使用することもできます。 接続タイプでその他とTelnetを選択することを忘れないでください。以下のスクリーンショットを参照してください。

-
IP とポートを挿入し、[開く] をクリックします。

-
これで、このターミナルを使用して、接続を介してデータを送信し、ポートでリッスンできます。 例えば:
This is PowerShell Listen on Port Test
-
上記で送信されたデータは、
'C:\Users\Sheeraz\demo.txt'というファイルに保存されます。これは、ポートでのリッスンが実行されることを意味します。
-
最後に、TCP 接続を閉じるには、
quitコマンドを実行します。
-