is there anyway to know the origin(web browser) of a certain url/packet when programming with winpcap and c++?
2 に答える
1
URL は単なるアドレス文字列であり、特定のブラウザ自体には関連付けられていません。ただし、パケットは通常、アプリケーションによって送信されるものです。HTTP トラフィックの場合、安全に TCP を想定できます。TCP パケットには常に、発信元 IP、発信元ポート、宛先 IP、および宛先ポートの 4 つのアドレス指定フィールドがあります。ポートは、単一のアプリケーションに一意に割り当てられます。この場合、発信元ポートは Web ブラウザーに割り当てられ、宛先ポートは Web サーバーに割り当てられます。
宛先ポートはおそらく 80 で、Web サーバーに静的に割り当てられますが、発信元ポートはランダムに割り当てられ、後で再割り当てできることに注意してください。したがって、すぐに調べる必要があります。
于 2010-02-08T09:51:30.437 に答える
0
HTTPペイロードを含むtcpパケットをキャプチャしたら、HTTPヘッダーを文字列として分離して操作できるようにする必要があります。HTTPペイロード内に、User-Agentキーワードがあり(httpHeader文字列で検索する必要があります)、関連する値を読み取ります。次のようにすることでHTTPヘッダーを分離できると思います
char* httpHeader = pkt_hdr + 14 + sizeof(TCP_header) + sizeof(IP_header)
于 2012-09-29T23:33:24.857 に答える