내 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'
과 같은 출력을 생성합니다 : 당신은 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의 출력을 얻는 방법은 당신에게 달린 것입니다.
all-java 솔루션을 원한다면 http://jnetpcap.com/은 어떻습니까?
플랫폼 별 JNI 코드를 작성하거나 제공하는 라이브러리를 사용해야합니다.
의 libpcap/WinPcap을그 jNetPcap 사용은 적어도 Windows 및 Linux 내 경험에서 신뢰성에이를 제공합니다. libpcap/WinPcap의 경험이 있지만 jNetPcap이 아닙니다.
tshark
도 libpcap/WinPcap 실제로 사용합니다.
어느 방법이든 매우 많은 가양 성을 보게 될 것입니다. HTML 페이지를 열려면 많은 이미지, 스타일 시트, 자바 스크립트 라이브러리 등이 필요합니다. 위의 스 니펫은 stackoverflow.com 페이지를 여는 것입니다.
이런 종류의 작업을 수행하는 데 가장 일반적으로 사용되는 라이브러리는 libpcap입니다. tcpdump.org에서 더 많은 정보를 찾을 수 있습니다. 다행스럽게도 libpcap에 대해 java wrapper이 있으므로 Java에서 이러한 종류의 작업을 수행 할 수 있습니다. 자세한 내용은 examples 및 tutorial을 확인하십시오.
Java에서 [Wireshark] (http://www.wireshark.org/)를 작성 하시겠습니까? ;) –
프록시 서버를 사용하여 액세스하는 모든 URL을 기록 할 수 있습니다. 나는 하나를 쓰지 않을 것이고, 간단한 오픈 소스 중 하나를 사용하십시오. –