ネットワーク ゲートウェイで libpcap を使用してプログラムを記述し、宛先 Web アドレスや squid などのその他の情報を抽出できますか? C言語で。
より良い方法はありますか?例とガイドを教えてください。
libcapはネットワークパフォーマンスに大きな影響を与えるため、リアルタイム監視には使用できませんでした。実効帯域幅の最大25%で実行できると思います。(libpcapに基づく)wiresharkを使用することでそれを観察できます。
squid を透過プロキシとして構成できます。これは、Linux で IPTable ルールを編集することで実行できます。このようにして、すべてのトラフィックが squid を経由し、ログに記録したり、必要なことを実行したりできます。さらに、トラフィックが失われることはありませんが、パフォーマンスは影響を受けます。
はい、簡単にできます。ポート80でパケットをキャプチャし、最初の1つまたは2つでHTTPリクエストを探します。HTTPリクエストは簡単に解析されます。
libpcapのドキュメントを読み、開始するためのいくつかの例を見てください。