C# でポート スキャナーを作成しようとしています。ポートスキャン方法について調査しました。
興味がある場合は、これらのリンクが役に立ちました。
- http://www.cs.wright.edu/~pmateti/InternetSecurity/Lectures/Probing/index.html ^ PPT プレゼンテーション^
- http://www.auditmypc.com/freescan/readingroom/port_scanning.asp
- (旧) NMAP - ポートスキャンの技術: http://nmap.org/nmap_doc.html
- ポートスキャン技術: http://nmap.org/book/man-port-scanning-techniques.html
- ポート スキャンのインタラクティブな例: http://www.osischool.com/concept/communication/port-scanning
私の質問に来ます。ポート スキャン方法は次のとおりです。
- TCP Connect() スキャン
- TCP SYN スキャン
- TCP FIN スキャン
- TCP クリスマス スキャン
- TCP NULL スキャン
- TCP ウィンドウ スキャン
- UDP スキャン
しかし、私は実装しただけですTCP Connect() Scan
(ここに表示)。しかし、これは非常に遅いです (各ポートのテストに 0.5 秒以上かかります)。残りのメソッドを実装するには、パケット レベルのアクセスが必要です。生のパケットを作成する必要があります。C#でそれを行うことは可能ですか? もしそうなら、それを行う方法は?