Вероятно, самый быстрый способ - захватить выходные данные программы командной строки tshark
(по крайней мере для windows и linux).Это работает на моем linux box:
sudo tshark -f 'port 80' -R 'http' -V | grep -A 1 '^Hypertext Transfer Protocol'
и производит вывод вроде:
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
--
Вы должны получить что-то похожее для Windows.Эксперимент.Как вы получите вывод tshark в java, зависит от вас.
Если вы хотите полностью Java-решение, как насчет http://jnetpcap.com/?
Вы будете иметьнаписать (или использовать библиотеку, которая предоставляет) некоторый специфичный для платформы код JNI.
libpcap / WinPcap , который jNetPcap использует, обеспечивает это надежно как минимум в Windows и Linux измой опыт.У меня есть опыт работы с libpcap / WinPcap , но не с jNetPcap .
tshark
также использует libpcap / WinPcap на самом деле.
В любом случае, вы увидите очень много ложных срабатываний .Для открытия HTML-страницы требуется получить много-много изображений, таблиц стилей, библиотек javascript и т. Д. Выше приведен фрагмент от открытия страницы stackoverflow.com.