"불량"인터넷 액세스 응용 프로그램 식별


14

현재 나는 정기적으로 인터넷에 액세스하는 응용 프로그램 / 서비스 / 위젯 / 플러그인 / cronjob을 가지고 있습니다. 내 특정 문제에 대한 세부 정보를 볼 수는 있지만 내 자신을 찾아 내고 실수로 우분투에 대해 더 많이 배울 수있는 대답을 원합니다.

dnstop현재 네트워크에서 수행중인 모든 DNS 요청을 표시하는 데 사용 하고 있습니다. 현재 인수를 위해 weather.noaa.gov15 분 주기로 진행되는 요청이 있습니다. 프로세스를 확인했지만 아무것도 찾지 못했지만 컴퓨터에서 요청이오고 있습니다.

그렇다면 어떤 프로세스가 액세스하고 있는지 어떻게 알 수 weather.noaa.gov있습니까?

나는 이것을 알아 내기 위해 각 서비스 / 플러그인 / 응용 프로그램을 종료하여 제거 과정을 거치고 싶지 않습니다. DNS 요청을 만드는 프로세스를 결정하는 방법을 찾고 싶습니다.

괜찮은 "애플리케이션 방화벽"이 있었다면 요청한 적이 없었을 것입니다. 그러나 이것은 "말은 이미 실패했습니다"시나리오이며 DNS 요청을하는 "불량"프로세스를 찾고 싶습니다.

답변:


7

일정 시간 동안 무한 루프를 실행하는 것이 마음에 들지 않으면 netstat를 계속 실행하고 프로그램이 연결된 컴퓨터의 IP 주소에 대한 출력을 필터링 할 수 있습니다. 도메인 이름 대신 IP 주소를 사용하는 것이 훨씬 빠르기 때문에 각 netstat 호출에 걸리는 시간이 줄어들어 실제로 프로세스를 잡을 가능성이 높아집니다. 프로세스가 현재 로그인 한 사용자에게 속해 있지 않다고 생각되면 netstat 명령을 루트로 실행해야합니다. 따라서 먼저 nslookup을 사용하여 도메인의 IP를 파악하십시오.

nslookup weather.noaa.gov

나에게 이것은 현재 193.170.140.70 및 193.170.140.80입니다. 이제 netstats의 무한 루프를 만들 수 있습니다. grep을 사용하여 필터링 할 수있는 출력 (STDERR을 버림).

while [ true ] ;  do netstat -tunp 2>/dev/null | grep -e 193.170.140.70 -e 193.170.140.80  ; done

물론 위의 예에서 IP 주소를 편집하십시오. 이 예는 TCP 및 UDP (-tu) 연결을 검사하고 DNS 확인 (-n)을 수행하지 않으며 프로세스 (-p)를 나열합니다. DNS 확인을 수행 할 시간이 충분하다고 생각되면 netstat에 대해 -n 옵션을 생략하고 IP 대신 grep에 도메인을 배치하면됩니다. CTRL + c를 누르면 무한 루프를 멈출 수 있습니다

이것이 도움이 되었기를 바랍니다, Andreas

추신 : 나는 이것이 이상적이고 효율적이거나 깨끗한 방법이 아니라는 것을 알고 있지만 한 번 검색하면 충분합니다.


나는 그 일을 포기하고 내가 범인을 잡을 수 있는지 볼 것이다
Meer Borg

3

연결된 FQDN의 / etc / hosts 추가를 통해 응용 프로그램을 "중단"할 수도 있습니다. 10.1.2.3 (또는 127.0.0.1)과 같은 라우팅 할 수없는 IP를 제공하고 깨진 부분을 확인하십시오.


나는 그것이 라우팅되지 않기 때문에 보통 0.0.0.0으로 설정했다. 내가 이야기하고있는 애플 리케이션의 종류는 그들의 "음란"을 거의 발표하지 않는다.
Meer Borg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.