全て
| カテゴリ未分類
| 通常
| 数学
| 投資
| 副業
| 転職・就職
| ブログ
| 株Stock
| VBA
| SharePoint
| REST API
| RenderListDataAsStream
| PowerAutomateDesktop
| Graph API
| PowerApps
| PowerAutomate
| PowerFx
| OfficeScriptオフィススクリプト
| PowerAutomate日時Excel日時相互関係
| PowerShell
| Dataverse
| UiPath
| OneDrive
| LINQ
| VB.NET
| C#.NET
| WPFC#.NET
| Git
| ネットワーク
| Azure
| AWS
| JP1
| セキュリティ
| JavaScript
| Google Cloud
カテゴリ:C#.NET
C# でポートを監視してパケットをキャプチャするためには、通常は `System.Net.Sockets` ネームスペース内のクラスを使用します。以下は、特定のポートを監視して受信したパケットをキャプチャするサンプルコードです。この例では、TCP プロトコルを使用してポート 8080 を監視します。 ```csharp using System; using System.Net; using System.Net.Sockets; namespace PacketCapture { class Program { static void Main(string[] args) { // 監視するポート番号 int port = 8080; // IPアドレスとポートをバインドするエンドポイントを作成 IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, port); // TCP ソケットを作成してバインド Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); listener.Bind(localEndPoint); try { // ソケットを受信モードに設定して接続待機 listener.Listen(10); Console.WriteLine("Waiting for a connection on port " + port); // 接続が来るまで待機 Socket handler = listener.Accept(); // 接続が確立されたらデータを受信 byte[] buffer = new byte[1024]; int bytesRead = handler.Receive(buffer); Console.WriteLine("Received packet: " + System.Text.Encoding.ASCII.GetString(buffer, 0, bytesRead)); // コネクションを閉じる handler.Shutdown(SocketShutdown.Both); handler.Close(); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } } } ``` このサンプルコードでは、ポート 8080 を監視して、クライアントが接続してきたら受信したデータをコンソールに表示します。実際のアプリケーションでは、接続ごとに新しいスレッドを作成して非同期的にデータを処理するなど、さらなる機能の追加が必要になるかもしれません。 また、このサンプルは単純な監視のみを行っていますが、セキュリティやパフォーマンスなどの要件に応じてさまざまな改善が必要になる場合があります。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2024.03.17 10:14:37
[C#.NET] カテゴリの最新記事
|