挨拶、
パケットが http パケットであるかどうかを、sharppcap を使用してキャプチャされたパケットから判断するにはどうすればよいですか?
また、パケットが HTTP であるかどうかにかかわらず、frpm TCP パケットを判別できますか?
挨拶、
パケットが http パケットであるかどうかを、sharppcap を使用してキャプチャされたパケットから判断するにはどうすればよいですか?
また、パケットが HTTP であるかどうかにかかわらず、frpm TCP パケットを判別できますか?
rfc2616 - Hypertext Transfer Protocol -- HTTP/1.1によると:
HTTP メッセージのバージョンは、メッセージの最初の行にある HTTP-Version フィールドによって示されます。
したがって、パケットを検査し、メッセージ ヘッダーの HTTP バージョン テキストや、HTTP プロトコルのその他の既知のフィールドをスキャンできます。メッセージが複数のパケットに分割されている場合、この方法は 100% 正確ではないかもしれませんが、少なくとも最初のカットとしてはおそらく十分です。
私は の作者/メンテナーですsharppcap/packet.net
。
tcp
複雑なネットワーク監視アプリで使用されている再構築とhttp
解析を実行するいくつかのクラスがあり、http sessions
. これらは完全に単体テストされ、十分にコメントされています。
これらは、バイナリ レベルまたはソース レベルでライセンスを取得できます。
編集:なぜこれを投票するのですか?コードとテストの開発には何百時間もかかりましたが、それは再利用されたドロップイン ソリューションです。同じ機能を再実装する前に、検討する価値があります。
単一の TCP フラグメントを見ているようです。それがメッセージの最初から来た場合は、最初の行に HTTP バージョンがありますが、ネットワークからランダムなパケットを引き出して、それらが HTTP であることを伝えたいと思っているだけなら、運が悪いでしょう。 - TCP フラグメントには、その内容を示すものは何もありません。知る唯一の方法は、会話全体を見ることです。