Windwos에서 TCP 연결 정보 확인하기
2020, Oct 28
Windows10 환경에서 특정 프로세스가 사용하는 네트워크 연결정보를 확인하고 해당 포트를 사용하는 프로그램을 확인하는 방법을 알아본다.
그리고 PowerShell 환경에서 유용하게 사용할 수 있도록 함수로 만들어 본다.
PowerShell 명령어 입문 : 콘솔에서 효과적으로 Windows 제어하기 한번 읽어두자.
Remote Port 접속 정보 확인
프로세스가 접속하는 포트를 알고 있는 경우 RemotePort 정보로 조회하여 세부 정보를 가져올 수 있다.
정보를 보면 Local, Remote 주소와 포트 정보 그리고 프로세스의 PID를 알 수 있다.
“Get-NetTCPConnection Linux에서는 “ss -t -anpo | grep :15490” 과 같은 명령어를 사용한다.
※ Format-List 옵션으로 결과를 리스트 형식으로 표시할 수 있다.
❯ Get-NetTCPConnection | Where-Object {$_.RemotePort -eq 15490} | Format-List
LocalAddress : 172.18.0.8
LocalPort : 5847
RemoteAddress : 192.168.20.11
RemotePort : 15490
State : Established
AppliedSetting : Internet
OwningProcess : 21616
CreationTime : 2020-08-28 오후 12:52:04
OffloadState : InHost
특정 프로세스의 TCP 연결정보 표시
프로그램이 사용하는 포트 정보를 모른다면 “Get-Process” 명령어를 이용하여 프로그램 이름으로 프로세스의 PID(OwnongProcess)를 얻어 올 수 있다.
1. Process의 PID 확인
❯ Get-Process -Name liveview | select-object -ExpandProperty Id
21616
2. Get-NetTCPConnection의 OwingProcess 필드로 조회
프로세스의 PID를 얻어온 후 “Get-NetTCPConnection” 명령어를 이용해서 네트워크 연결 상태를 얻어 올 수 있다.
❯ Get-NetTCPConnection | Where-Object {$_.OwningProcess -eq 21616 }
LocalAddress LocalPort RemoteAddress RemotePort State AppliedSetting OwningProcess
------------ --------- ------------- ---------- ----- -------------- -------------
0.0.0.0 5847 0.0.0.0 0 Bound 21616
172.18.0.8 5847 192.168.20.11 15490 Established Internet 21616
3. 프로세스 이름으로 연결된 TCP 연결 정보 확인
위의 두 가지 명려어를 파이프로 연결해서 프로세스 이름으로 네트워크 연결 정보를 확인 할 수 있다.
❯ Get-NetTCPConnection | Where-Object {$_.OwningProcess -eq (Get-Process -Name liveview | select-object -ExpandProperty Id) }
LocalAddress LocalPort RemoteAddress RemotePort State AppliedSetting OwningProcess
------------ --------- ------------- ---------- ----- -------------- -------------
0.0.0.0 5847 0.0.0.0 0 Bound 21616
172.18.0.8 5847 192.168.20.11 15490 Established Internet 21616
4. 파워쉘 함수로 등록
PowerShell 프로파일에 아래와 같이 Function으로 등록해 놓으면 “Get-Status 프로세스이름” 명령으로 사용할 수 있다.
그럼 DropBox는 어떤 상태인지 조회해 본다.
PS > Get-Status DropBox
LocalAddress LocalPort RemoteAddress RemotePort State AppliedSetting OwningProcess
------------ --------- ------------- ---------- ----- -------------- -------------
:: 17500 :: 0 Listen 11372
0.0.0.0 9074 0.0.0.0 0 Bound 11372
0.0.0.0 4257 0.0.0.0 0 Bound 11372
0.0.0.0 4225 0.0.0.0 0 Bound 11372
0.0.0.0 4222 0.0.0.0 0 Bound 11372
0.0.0.0 4196 0.0.0.0 0 Bound 11372
127.0.0.1 17600 0.0.0.0 0 Listen 11372
0.0.0.0 17500 0.0.0.0 0 Listen 11372
127.0.0.1 9074 127.0.0.1 9073 Established Internet 11372
127.0.0.1 9073 127.0.0.1 9074 Established Internet 11372
111.111.111.111 4257 162.125.35.136 443 Established Internet 11372
127.0.0.1 4225 127.0.0.1 4224 Established Internet 11372
127.0.0.1 4224 127.0.0.1 4225 Established Internet 11372
111.111.111.111 4222 162.125.35.134 443 Established Internet 11372
127.0.0.1 843 0.0.0.0 0 Listen 11372