특정 호스트에 액세스하려는 컴퓨터를 확인하는 방법

특정 호스트에 액세스하려는 컴퓨터를 확인하는 방법

제 직장에서는 Google에서 무언가를 검색하려고 할 때 가끔 성가신 CAPTCHA를 접하게 됩니다.

해당 페이지에 도달하면 네트워크가 Google에 빠르게 여러 번 액세스하려고 시도하고 있다는 메시지가 표시됩니다. 컴퓨터가 백그라운드에서 실행되어 Google이나 다른 호스트에 대해 어떤 작업을 수행하려고 하는 일종의 바이러스나 스크립트에 감염된 것으로 의심됩니다.

네트워크에서 불량 노드를 찾기 위해 Linux에서 어떤 도구를 사용할 수 있는지 또는 이 문제 디버깅을 시작하는 방법을 알고 싶습니다.

답변1

아마도 범인을 찾기 위해 먼저 tcpdump를 사용할 것입니다.

Linux를 실행하는 라우터가 있는 경우(많은 경우) 일반적으로 라우터에서 직접 tcpdump를 실행할 수 있습니다.

그렇지 않은 경우 라우터와 동일한 네트워크에 있는 PC에서 tcpdump(또는 Wireshark)를 실행해 볼 수 있습니다. 이더넷 스위치가 항상 모든 트래픽을 모든 포트에 복사하는 것은 아니기 때문에 이것이 항상 작동하는 것은 아닙니다. 이 경우 컴퓨터를 라우터로 설정하고 외부 라우터와 내부 네트워크 사이에 배치한 다음 해당 컴퓨터에서 tcpdump를 실행할 수 있습니다.

또는 전환을 수행하지 않는 오래된 이더넷 허브를 찾을 수도 있습니다. 나는 이 목적을 위해 도구 가방에 오래된 것을 보관합니다!

안정적으로 tcpdump를 수행하고 네트워크에서 나가는 네트워크 트래픽을 볼 수 있는 장소를 찾으면 먼저 다음과 같이 Google의 IP 주소를 찾아보세요.

$ host google.com
google.com has address 74.125.21.100
google.com has address 74.125.21.113
google.com has address 74.125.21.138
google.com has address 74.125.21.139
google.com has address 74.125.21.101
google.com has address 74.125.21.102
google.com has IPv6 address 2607:f8b0:4002:c06::8b
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

이러한 74.125.21.X 주소는 네트워크의 관점과 다를 수 있습니다. tcpdump에서 이러한 주소에 액세스하는 트래픽을 찾으려면 다음 명령을 사용하십시오.

tcpdump dst host 173.194.219.113 or dst host 173.194.219.139 or dst host 173.194.219.100 or dst host 173.194.219.138 or dst host 173.194.219.102 or dst host 173.194.219.101

이제 편안히 앉아 한 호스트가 다른 호스트보다 Google을 더 많이 사용하는 것을 발견할 수 있는지 확인해 보세요.

tcpdump의 출력을 파일로 덤프하고 일부 스크립트를 사용하여 나중에 정렬할 수 있습니다. 다음과 같이 tcpdump를 tmp에 저장합니다(...를 위의 인수 목록으로 대체).

tcpdump ... > /tmp/x

그런 다음 잠시 동안 실행하고 ^C하세요. 그런 다음 이를 사용하여 Google의 가장 큰 사용자가 누구인지 알아보세요.

awk '{ print $3 }' /tmp/x | uniq -c | sort -n

이 모든 것에서 까다로운 부분은 tcpdump를 실행하고 모든 네트워크 트래픽을 볼 수 있는 시스템을 확보하는 것입니다.

관련 정보