Windows에서 주어진 IP 주소에 어떤 프로그램과 프로세스 ID가 액세스하는지 어떻게 알 수 있습니까?


18

어떤 프로그램이 특정 IP 주소에 액세스하고 있는지를 파악할 수 있습니까?

컴퓨터가 침수되어 주소를 하나씩 확인하려고합니다.

이것에 대한 감사를 설정할 수 있습니까?

답변:


30

TCPView 솔루션

SystemInternals의 TCPView 는 "로컬 및 원격 주소와 TCP 연결 상태를 포함하여 시스템의 모든 TCP 및 UDP 끝점 목록을 표시합니다."

TCPView는 로컬 및 원격 주소와 TCP 연결 상태를 포함하여 시스템의 모든 TCP 및 UDP 끝점 목록을 보여주는 Windows 프로그램입니다. Windows Server 2008, Vista 및 XP에서 TCPView는 또한 엔드 포인트를 소유하는 프로세스 이름을보고합니다. TCPView는 Windows와 함께 제공되는 Netstat 프로그램의보다 유익하고 편리하게 제시된 하위 집합을 제공합니다. TCPView 다운로드에는 동일한 기능을 가진 명령 줄 버전 인 Tcpvcon이 포함되어 있습니다.

여기에 이미지 설명을 입력하십시오.

  • 도메인 이름 대신 IP 주소를 얻으려면 "해결 된 주소"가 있는지 확인하십시오.

    여기에 이미지 설명을 입력하십시오.

"원격 주소"로 결과를 정렬하여 관심있는 IP 주소를 찾을 수 있습니다.

예:

  • 이 스크린 샷은 Firefox가 stackoverflow.com에 연결되어 있음을 보여줍니다.

    여기에 이미지 설명을 입력하십시오.


CurrPorts 솔루션

CurrPorts 에서 Nirsoft는 매우 유사한 기능을 제공합니다.

CurrPorts는 현재 열려있는 모든 TCP / IP 및 UDP 포트 목록을 로컬 컴퓨터에 표시하는 네트워크 모니터링 소프트웨어입니다. 목록의 각 포트에 대해 프로세스 이름, 프로세스의 전체 경로, 프로세스의 버전 정보 (제품 이름, 파일 설명 등), 해당 포트를 여는 프로세스에 대한 정보도 표시됩니다. 프로세스가 생성되었고 사용자가 생성했습니다.

여기에 이미지 설명을 입력하십시오.

예:

  • 이 스크린 샷은 Firefox가 stackoverflow.com에 연결되어 있음을 보여줍니다.

    여기에 이미지 설명을 입력하십시오.


결과를 기록하려면 어떻게해야합니까?

TcpLogView 도에서 Nirsoft는 TCP의 connnections의 로깅을 제공합니다.

TcpLogView는 시스템에서 열린 TCP 연결을 모니터하고 TCP 연결이 열리거나 닫힐 때마다 새로운 로그 라인을 추가하는 간단한 유틸리티입니다. 모든 로그 라인에는 Even Time, Event Type (열기, 닫기, 수신), 로컬 주소, 원격 주소, 원격 호스트 이름, 로컬 포트, 원격 포트, 프로세스 ID, 프로세스 이름 및 국가 정보가 표시됩니다. 원격 IP 주소 (IP를 국가 별 파일로 별도로 다운로드해야 함)

여기에 이미지 설명을 입력하십시오.


기권

나는 SystemInternals (Microsoft의 일부) 또는 Nirsoft와 어떤 식 으로든 제휴하지 않았으며, 나는 (무료) 유틸리티의 최종 사용자 일뿐입니다.


빠른 속도로 사라지기 때문에이 방법으로 몇 개의 패킷을 잡는 것은 불가능합니다. 로깅이 필요해.
흐릿 해집니다

내가 패킷을 보내는 사람을 붙잡고 싶다고 상상해보십시오 88.221.132.207. 그것을 보는 방법? 이 응용 프로그램에는 검색 또는 필터링 기능이 없습니다. 즉, 빨리 사라지면 나는 그것을 눈으로 잡을 수 없을 것입니다.
흐릿 해집니다


1
Wireshark프로세스 ID를 표시하지 않습니다. 나는 (1) 프로세스 (2) IP를 알 필요가있다; 둘 다
Dims

6
@Dims Nirsoft에서도 TCPLogView를 사용하십시오. 답변이 업데이트되었습니다
DavidPostill

8

Windows 7 / 8 * / 10에서는 자원 모니터 -> 네트워크 탭을 사용할 수 있습니다.

리소스 모니터를 여는 가장 쉬운 방법은 다음과 같습니다.

  • 작업 관리자 열기 (오른쪽 작업 표시 줄 -> 작업 관리자 시작)
  • 성능 탭을 클릭하십시오.
  • 리소스 모니터 단추를 클릭하십시오.

리소스 모니터 -> 네트워크

* = 미확인


2

관리자 명령 쉘에서 추가 도구를 다운로드하지 않고도이 작업을 수행 할 수 있습니다.

관리 명령 셸 실행 :

  • 시작 버튼을 누릅니다.
  • "cmd"를 입력하십시오.
  • Ctrl + Shift + Enter를 누릅니다.

다음 명령을 입력하십시오 : netstat -tabn

스위치는 다음을 의미합니다.

  • -t 현재의 연결 오프로드 상태를 표시합니다.
    • 즉. ESTABLISHED, LISTENING, TIME_WAIT
  • -a 모든 연결 W 수신 대기 포트를 표시합니다.
  • -b 각 연결 또는 수신 대기 포트 작성과 관련된 실행 파일을 표시합니다. 경우에 따라 잘 알려진 실행 파일은 여러 독립 구성 요소를 호스팅하며 이러한 경우 연결 또는 수신 대기 포트 만들기와 관련된 구성 요소 시퀀스가 ​​표시됩니다. 이 경우 executablen ame은 맨 아래에 [] 안에 있고, 맨 위에는 호출 된 구성 요소가 있으며, TCP / IP에 도달 할 때까지 계속됩니다. 이 옵션은 시간이 오래 걸릴 수 있으며 충분한 권한이 없으면 실패합니다.
  • -n 주소 및 포트 번호를 숫자 형식으로 표시합니다.

이것은 많은 GUI 옵션으로 얻은 결과만큼 정교하지는 않지만, 추가 도구를 다운로드하지 않고도 사용할 수 있습니다. 그것은 약간 다른 스위치와 리눅스에서도 작동합니다.


1

antik이 말한 것처럼 관리자 명령 프롬프트에서 netstat을 사용할 수 있습니다. 그래도 o대신 b출력을 사용하여 항목을 한 행에 표시하고 find를 사용하여 필터링 할 수 있습니다. 프로세스 이름은 없지만 프로세스 ID는 다음과 같습니다.

예 :

netstat -aon | find ":80"

포트 80을 사용하는 모든 연결을 표시합니다 (로컬 또는 원격).

그런 다음 작업 관리자에서 해당 프로세스를 확인하거나 명령 프롬프트에서 tasklist를 사용하여 다른 필터를 수행 할 수 있습니다.

tasklist | find "1100"

또는

tasklist /FI "PID eq 1100"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.