나가는 웹 요청이 발생하는 즉시 모니터링

나가는 웹 요청이 발생하는 즉시 모니터링

내 데스크탑에서 이루어진 모든 HTTP 요청 목록을 보고 싶습니다. SNI(서버 이름 표시)를 사용하여 로컬 클라이언트의 HTTPS 호스트 이름을 모니터링하는 것이 가능해야 한다고 생각합니다.

OS X에는 다음과 같은 훌륭한 GUI 유틸리티가 있습니다.작은 밀고자, 이는 애플리케이션별 HTTP 모니터 및 방화벽 규칙 프런트엔드입니다.

나는 좋은 터미널 유틸리티를 선택하겠습니다. tcpdump어떤 데이터가 전송되는지가 아니라 트래픽이 실시간으로 어디로 가는지 확인하고 싶기 때문에 이는 과잉입니다. 이상적으로는 어떤 프로세스가 요청을 하는지도 보고 싶지만, 어떤 프로세스가 집으로 전화하는지 보는 것만으로도 좋은 시작이 될 것입니다.

답변1

이 작업은 다음을 사용하여 수행 lsof할 수 있습니다 .watch

$ watch -n1 lsof -i TCP:80,443

출력 예

dropbox    3280 saml   23u  IPv4 56015285      0t0  TCP greeneggs.qmetricstech.local:56003->snt-re3-6c.sjc.dropbox.com:http (ESTABLISHED)
thunderbi  3306 saml   60u  IPv4 56093767      0t0  TCP greeneggs.qmetricstech.local:34788->ord08s09-in-f20.1e100.net:https (ESTABLISHED)
mono       3322 saml   15u  IPv4 56012349      0t0  TCP greeneggs.qmetricstech.local:54018->204-62-14-135.static.6sync.net:https (ESTABLISHED)
chrome    11068 saml  175u  IPv4 56021419      0t0  TCP greeneggs.qmetricstech.local:42182->stackoverflow.com:http (ESTABLISHED)

답변2

대안크릭의 대답watch(또한 그 일부를 사용하는 동안) 해당 -r옵션을 포기 하고 lsof대신 사용하는 것입니다. 예를 들어 터미널에서 반복되는 로그 스크롤로 끝납니다.

lsof -i TCP:80,443 -r 1

1초마다 반복하며, 각 반복의 출력은 로 구분됩니다 =======. 그다지 예쁘지는 않지만 다음과 같은 스크롤 가능한 기록을 제공합니다.

=======
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
firefox 9542 user   27u  IPv4 1068219      0t0  TCP user-300V3Z-300V4Z-300V5Z:37360->192.0.78.23:https (ESTABLISHED)
firefox 9542 user   48u  IPv4 1053405      0t0  TCP user-300V3Z-300V4Z-300V5Z:45948->ec2-54-213-37-69.us-west-2.compute.amazonaws.com:https (ESTABLISHED)
=======
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
firefox 9542 user   27u  IPv4 1068219      0t0  TCP user-300V3Z-300V4Z-300V5Z:37360->192.0.78.23:https (ESTABLISHED)
firefox 9542 user   48u  IPv4 1053405      0t0  TCP user-300V3Z-300V4Z-300V5Z:45948->ec2-54-213-37-69.us-west-2.compute.amazonaws.com:https (ESTABLISHED)
firefox 9542 user   52u  IPv4 1138942      0t0  TCP user-300V3Z-300V4Z-300V5Z:57602->kul08s01-in-f10.1e100.net:https (SYN_SENT)
firefox 9542 user  102u  IPv4 1139934      0t0  TCP user-300V3Z-300V4Z-300V5Z:49102->kul09s13-in-f14.1e100.net:https (ESTABLISHED)
firefox 9542 user  110u  IPv4 1138950      0t0  TCP user-300V3Z-300V4Z-300V5Z:49104->kul09s13-in-f14.1e100.net:https (SYN_SENT)
=======
...
=======
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
firefox 9542 user   27u  IPv4 1068219      0t0  TCP user-300V3Z-300V4Z-300V5Z:37360->192.0.78.23:https (ESTABLISHED)
firefox 9542 user   48u  IPv4 1053405      0t0  TCP user-300V3Z-300V4Z-300V5Z:45948->ec2-54-213-37-69.us-west-2.compute.amazonaws.com:https (ESTABLISHED)
firefox 9542 user   51u  IPv4 1140129      0t0  TCP user-300V3Z-300V4Z-300V5Z:52284->kul09s13-in-f10.1e100.net:https (ESTABLISHED)
firefox 9542 user  108u  IPv4 1137384      0t0  TCP user-300V3Z-300V4Z-300V5Z:55886->103.229.10.236:https (ESTABLISHED)
firefox 9542 user  122u  IPv4 1137399      0t0  TCP user-300V3Z-300V4Z-300V5Z:55870->kul08s12-in-f1.1e100.net:https (ESTABLISHED)
firefox 9542 user  126u  IPv4 1137402      0t0  TCP user-300V3Z-300V4Z-300V5Z:47370->stackoverflow.com:https (SYN_SENT)

참고: 저는 Firefox만 열어두었기 때문에 하나의 앱만 표시됩니다.

분명히 이 출력은 (로그) 파일로 리디렉션되거나 파이프될 수 있습니다.

관련 정보