私のPCがJavaで接続しているURLを報告できるサンプルコードはありますか?Javaとネットワーク接続を監視するにはどうすればよいですか?
ブラウザを使用してさまざまなサイトに接続し、ビデオをオンラインで視聴している間は、URLをキャプチャする必要があります。それはJavaで実行可能ですか?
詳細なトラフィックは必要ありません。ただURLを記録してください。
私のPCがJavaで接続しているURLを報告できるサンプルコードはありますか?Javaとネットワーク接続を監視するにはどうすればよいですか?
ブラウザを使用してさまざまなサイトに接続し、ビデオをオンラインで視聴している間は、URLをキャプチャする必要があります。それはJavaで実行可能ですか?
詳細なトラフィックは必要ありません。ただURLを記録してください。
最も速い方法は、おそらくコマンドラインtshark
プログラムの出力をキャプチャすることです(少なくともwindowsとlinuxの場合)。
sudo tshark -f 'port 80' -R 'http' -V | grep -A 1 '^Hypertext Transfer Protocol'
などの出力を生成します:これは私のLinuxボックス上で動作しますが、Windows用の似た何かを得る必要があります
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
Hypertext Transfer Protocol
GET /questions/4494294/r-gplots-barplots-how-to-fix-bar-width-independent-of-paper-setting HTTP/1.1\r\n
--
Hypertext Transfer Protocol
HTTP/1.1 200 OK\r\n
--
Hypertext Transfer Protocol
GET /posts/4494294/ivc/086e HTTP/1.1\r\n
--
Hypertext Transfer Protocol
HTTP/1.1 204 No Content\r\n
--
Hypertext Transfer Protocol
[truncated] GET /__utm.gif?utmwv=4.8.6&utmn=20455052&utmhn=stackoverflow.com&utmcs=UTF-8&utmsr=1600x1200&utmsc=24-bit&utmul=en-us&utmje=1&utmfl=10.1%20r102&utmdt=graph%20-%20R%3A%20gplots%2C%20barplots%3A%20how%20to%20fix%20bar%20width%20i
--
Hypertext Transfer Protocol
HTTP/1.1 200 OK\r\n
--
。実験。どのようにtsharkの出力をjavaに収めるかはあなた次第です。
all-javaソリューションをご希望の場合は、http://jnetpcap.com/はどうですか?
プラットフォーム固有のJNIコードを記述するか、提供するライブラリを使用する必要があります。
のlibpcap/WinPcapのそのjNetPcapの用途には、少なくともWindowsとLinuxの私の経験から、確実にこれを提供します。私はlibpcap/WinPcapの経験がありますが、jNetPcapではありません。
tshark
も実際にはlibpcap/WinPcapを使用します。
どちらの方法でも、非常に多くのの偽陽性が表示されます。 HTMLページを開くには、多くの画像、スタイルシート、JavaScriptライブラリなどを取得する必要があります。上のスニペットは、stackoverflow.comページを開いたものです。
この種の処理に最も一般的に使用されるライブラリはlibpcapです。 tcpdump.orgにもっと多くの情報があります。幸いにもlibpcapのためにjava wrapperがあるので、あなたはJavaでこのようなことをすることができます。詳細についてはexamplesとtutorialをご覧ください。
Javaであなた自身の[Wireshark](http://www.wireshark.org/)を書きますか? ;) –
プロキシサーバーを使用して、アクセスするすべてのURLを記録できます。私は1つも書いていないでしょう。単純なオープンソースのものを使ってください。 –