![나가는 웹 요청이 발생하는 즉시 모니터링](https://linux55.com/image/39491/%EB%82%98%EA%B0%80%EB%8A%94%20%EC%9B%B9%20%EC%9A%94%EC%B2%AD%EC%9D%B4%20%EB%B0%9C%EC%83%9D%ED%95%98%EB%8A%94%20%EC%A6%89%EC%8B%9C%20%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81.png)
내 데스크탑에서 이루어진 모든 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만 열어두었기 때문에 하나의 앱만 표시됩니다.
분명히 이 출력은 (로그) 파일로 리디렉션되거나 파이프될 수 있습니다.