로컬 시스템에서 실행되는 프로세스가 HTTP를 통해 액세스하는 URL 목록을 모니터링하고 얻을 수 있는 방법이 있습니까? 그렇지 않다면 어떤 정보가 위와 더 가깝나요? 내 사용 사례는 실제로 불투명한 유틸리티가 있고 이 유틸리티가 네트워크를 통해 일부 정보를 다운로드하고 있다고 의심되며 이 유틸리티가 네트워크를 통해 정확히 무엇을 얻고 있는지 알고 싶습니다.
답변1
당신은 그것을 사용할 수 있습니다TCP 스트림가서 이것을 해보세요. 웹사이트에서:
tcpflow는 TCP 연결(스트림)의 일부로 전송된 데이터를 캡처하고 프로토콜 분석 또는 디버깅을 용이하게 하는 방식으로 데이터를 저장하는 프로그램입니다. "tcpdump"와 같은 프로그램은 회선에서 본 패킷의 요약을 표시하지만 일반적으로 실제 전송된 데이터를 저장하지는 않습니다. 대신 tcpflow는 실제 데이터 흐름을 재구성하고 나중에 분석하기 위해 각 흐름을 별도의 파일에 저장합니다.
[ip].[port]-[ip].[port] 형식의 로그를 현재 작업 디렉터리에 덤프합니다.
# mkdir http_logs
# cd http_logs
# tcpflow dst port 80
이 예에서는 포트 80으로 전송된 모든 TCP 패킷을 기록하고 쉽게 디버깅할 수 있도록 현재 디렉터리에 저장합니다. 다음을 사용하여 추가로 필터링할 수도 있습니다.투영형 용량성 필터.
-a
또한 사후 처리를 허용하는 이 스위치가 유용할 수도 있습니다 . 예를 들어 HTTP 헤더와 본문을 별도의 파일에 배치합니다.
답변2
오픈소스 프로그램이라면 당연히 소스코드를 보는게 답인데...;-) 하지만, 비공개 소스 프로그램이 있고 해당 프로그램의 네트워크 사용량을 모니터링하려는 경우 가장 좋은 방법은 의심스러운 응용 프로그램이 포함된 컴퓨터와 네트워크 스니퍼가 포함된 컴퓨터를 연결하는 것입니다.와이어샤크가 되다센터.
왜 외부 기계가 필요합니까? 과거에는 동일한 시스템에서 실행되는 스니퍼가 감지되면 특정 "숨겨진 기능"을 비활성화하는 일부 응용 프로그램이 있었습니다.
PS 허브가 점차 산업 고고학으로 자리잡으면서 (전문) 스위치의 점퍼 포트를 사용할 수도 있습니다.
불행하게도 소비자 등급 스위치에서는 스패닝을 사용할 수 없는 경우가 많습니다.