발신 연결을 수행하는 서비스 (svchost.exe)를 결정하는 방법이 있습니까?


13

더 제한적인 정책으로 방화벽 구성을 다시 실행하고 나가는 연결의 출처 및 / 또는 대상을 결정하고 싶습니다.

svchost.exe에서 와서 웹 콘텐츠 / 응용 프로그램 배달 공급자 또는 이와 유사한 사이트로 이동하여 문제가 있습니다.

5 IP in range: 82.96.58.0 - 82.96.58.255      --> Akamai Technologies         akamaitechnologies.com
3 IP in range: 93.150.110.0 - 93.158.111.255  --> Akamai Technologies         akamaitechnologies.com
2 IP in range: 87.248.194.0 - 87.248.223.255  --> LLNW Europe 2               llnw.net
205.234.175.175                               --> CacheNetworks, Inc.         cachefly.net
188.121.36.239                                --> Go Daddy Netherlands B.V.   secureserver.net

어떤 서비스가 특정 연결을 수행하는지 알 수 있습니까? 또는이 규칙에 적용되는 규칙에 대한 권장 사항은 무엇입니까?

(코모도 방화벽 및 Windows 7)

최신 정보:

netstat -ano& tasklist /svc조금 도와주세요하지만 그들은 하나의 svchost.exe에 많은 서비스이므로 여전히 문제입니다. 또한 "tasklist / svc"에 의해 반환 된 서비스 이름은 읽기 쉽지 않습니다.

(모든 연결은 HTTP (포트 80)이지만 관련성이 없다고 생각합니다)

답변:


9

서버 결함 답변 (서비스 및 메모리 사용량에 대한)에서 서비스의 네트워크 사용량 (네트워크 도구 사용)을 개별적으로 분석하는 데 사용할 수있는 방법을 찾았습니다.

피터 모텐슨 :

각 서비스를 자체 SVCHOST.EXE 프로세스에서 실행하도록 분할하면 CPU주기를 소비하는 서비스는 작업 관리자 또는 프로세스 탐색기에서 쉽게 볼 수 있습니다 ( "="뒤에 공백).

SC Config Servicename Type= own

이를 명령 행 창에서 수행하거나 BAT 스크립트에 넣으십시오. 관리 권한이 필요하며 컴퓨터를 다시 시작해야 적용 할 수 있습니다.

원래 상태는 다음을 통해 복원 할 수 있습니다.

SC Config Servicename Type= share

7

SysInternals Process Explorer 가이를 수행 할 수 있습니다.

svchost.exe분석하려는 인스턴스 의 프로세스 특성을여십시오 . TCP / IP 탭을 클릭 하십시오. 검색하려는 연결을 두 번 클릭하여 연결의 스택 추적을 표시하십시오. 서비스를 구현하는 DLL로 스택을 다시 추적 할 수 있어야합니다. Process Properites 주제에 대한 도움말 파일에서 발췌 한 내용은 다음과 같습니다 .

TCP / IP :

프로세스가 소유 한 모든 활성 TCP 및 UDP 엔드 포인트가이 페이지에 표시됩니다.

Windows XP SP2 이상에서이 페이지에는 스택 시점에 선택한 엔드 포인트를 연 스레드 스택을 표시하는 대화 상자를 여는 스택 버튼이 있습니다. 스택에는 엔드 포인트를 담당하는 드라이버 또는 서비스 이름이 포함되므로 시스템 프로세스 및 Svchost 프로세스에서 엔드 포인트의 목적을 식별하는 데 유용합니다.

기호 구성에 대해서도

기호 구성 : Windows NT 이상에서 프로세스 탐색기가 프로세스 특성 대화 상자의 스레드 탭 및 스레드 스택 창의 스레드 시작 주소에 대한 주소를 분석하도록하려면 먼저 Microsoft 웹에서 Windows 용 디버깅 도구 패키지를 다운로드하여 기호를 구성하십시오. 사이트를 기본 디렉토리에 설치하십시오. 기호 구성 대화 상자를 열고 디버깅 도구 디렉토리에있는 dbghelp.dll에 대한 경로를 지정하고 기호 엔진에 기호 경로에 대한 기호 서버 문자열을 입력하여 기호 엔진이 Microsoft의 요청에 따라 기호를 디스크의 디렉토리로 다운로드하도록하십시오. 예를 들어 c : \ symbols 디렉토리로 심볼을 다운로드하려면 다음 문자열을 입력하십시오.

srv c : \ symbols http://msdl.microsoft.com/download/symbols

참고 : 스레드의 스택을 보려면 관리자로 프로세스 탐색기를 실행해야 할 수도 있습니다.


매우 흥미롭지 만 불행히도 PE v11.33은 Windows 7에서 TCP / IP 스택을 지원하지 않는 것으로 보입니다.-/ "이 버전의 Windows에서는 스택을 사용할 수 없습니다". 웹에서 확인을 찾지 못했지만 심볼을 올바르게 구성했다고 확신합니다.
fluxtendu


1
흠 .. 7도 마찬가지입니다. XP에서는 이상하게 작동합니다.
중화

1
TCP / IP 탭에는 "서비스"열이 있어야합니다. 예를 들어 svchost.exe의 인스턴스를 보는 동안 각 서비스가 동일한 PID로 그룹화 된 서비스 중 어느 연결을 소유하는지 알려줍니다. 지금은 PE 12.00을 사용하고 있는데 현재로서는 "서비스"열이 이전 버전에 있는지 확인할 수 없지만 시도해 볼 가치가 있습니다.
TataBlack

당신이 옳아 요 나에게이 기능은 XP에서만 작동합니다. 이와 관련하여 w7에서 변경된 사항을 조사하여 작동하지 않는 것이 좋습니다.
saulius2


2

TCPView 는 서비스, PID 및 TCP 연결 (로컬 및 원격 모두)을 보여주는 그래픽 도구입니다.

TCPView의 스크린 샷


'netstat -ano & tasklist / svc'와 같이이 도구는 하나의 svchost PID에서 다른 연결을 구별하지만 그 뒤에 어떤 서비스가 있는지 표시하지 않습니다 ... PID 및 연결을 연결하기 때문에 이미 더 좋습니다 (그리고 잘 알려진 포트를 인식합니다) 그러나 그것은 여전히 ​​내가 찾고있는 것이 아닙니다. (또한 필터 및 로그 기능이 부족합니다 ...)
fluxtendu

이것이 문제를 해결하지 못하는 다운 보트
Chris Dale

@ChrisDale : 동의하지 않습니다. 이 답변은 어떤 서비스가 연결되어 있는지 보여 주므로 허용되는 답변을 보완합니다.
harrymc

@Harrymc TCPView는 svchost.exe 만 수신 또는 연결을 보여줍니다. svchost는 서비스가 아니며 여러 서비스를위한 컨테이너 일뿐입니다. 어떤 서비스가 연결을 작성하는지 알아야하는 경우, 많은 서비스 중 하나가 연결을 작성한다는 것을 알기 때문에 훨씬 똑똑합니다. 충분히 공평하지만, 그것은 답을 보완하지만 약간의 부담입니다. 나는 같은 문제가 있었고 TCPView는 나를 위해 그것을 못 박았다 :) Sysinternals Process Explorer는 그렇게했다.
Chris Dale

1
@ChrisDale : 그것은 다른 모든 것에서 pid를 보여줍니다.
harrymc

2

사용하여 시도 tasklist /svcnetstat또는 netstat -an명령 줄에서.

svchost.exe를 사용하는 프로그램과 포트가 표시됩니다. 포트 번호를 사용하면 일반적으로 번호를 사용하는 프로토콜을 찾을 수 있습니다. TCP 및 UDP 포트 번호 목록을 참조하십시오 .


예, 그러나 svchost.exe의 단일 인스턴스는 종종 10-20 개의 서비스를 호스팅하며 어떤 서비스에 결함이 있는지 찾기가 어렵습니다. 그래도 그 정보를 얻을 수있는 방법 이 있습니다 .
Peter Mortensen 2016 년

1

작업 관리자를 사용하여 프로세스 목록에서 각 프로세스의 PID 열을보십시오. 그런 다음 실행 netstat -ano하여 활성 연결 및 연관된 PID (= 프로세스 ID)를보십시오.


1

언급 한 바와 같이, 주어진의 Svchost 프로세스의의 Svchost PID를 찾을 수 및 / 또는 같은 타사 응용 프로그램을 사용합니다 Currports, ProcessExplorer당신은 주어진 프로세스 (Svchost.exe에서 또는 다른 것)로 서비스를 식별하는 데 도움이됩니다. 또한 Svchost Viewer 또는 Svchost Analyzer 는 svchost 정보도 엄격하게 표시합니다.

또한 추가하고 싶었습니다. 기본 제공 Windows 작업 관리자의 최신 버전은 적어도 svchost에서 실행되는 서비스에 대한 제한된 정보를 표시합니다 (설치 할 필요 없음).

먼저 프로세스에서 svchost 프로세스를 선택하십시오.
지정된 svchost 프로세스를 마우스 오른쪽 단추로 클릭하고 "서비스로 이동"을 선택
하십시오. 서비스 탭으로 이동하여 해당 svchost 프로세스에서 실행중인 지정된 서비스를 강조 표시합니다.

다른 방법 :
관리자 CMD 프롬프트 사용 :
tasklist /svc /fi "IMAGENAME eq svchost.exe" > svchost_services.txt
notepad svchost_services.txt
문제가 발생한 지정된 svchost / service의 PID를 얻는 빠른 방법이기도합니다.


1

NirSoft 유틸리티 CurrPorts 는 프로세스의 서비스 목록 필터링 및 제공을 포함하여 원하는 모든 작업을 수행합니다.

실제로, 유일한 문제점은 잠재적으로 표시 할 수있는 많은 수의 정보 열 중에서 선택하는 방법입니다.

CurrPorts 유틸리티의 스크린 샷


지금까지는 최상의 솔루션이지만 내가 찾고있는 필수 작업은 수행하지 않습니다. "프로세스 서비스"열은 가능한 모든 서비스를 그룹화합니다.
fluxtendu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.