원격 데스크톱 클라이언트의 IP 주소를 어떻게 얻을 수 있습니까? RDP 연결시 쉘 명령을 어떻게 트리거 할 수 있습니까?


23

서버에서 PowerShell (또는 다른 방법)을 사용하여 원격 데스크톱 클라이언트의 IP 주소를 확인하는 방법이 있습니까? (Windows Server 2008 R2 x64는 내가 사용하는 것입니다)

편집 : netstat의 stdout을 grep하여 매우 실현 가능한 정보를 검색 할 수 있다는 것을 알았습니다. 클라이언트가 연결할 때 스크립트 / 쉘 명령을 어떻게 트리거 할 수 있습니까?


어떤 맥락에서? 이 스크립트는 사용자, 관리자 또는 다른 사람으로 실행됩니까?
— Zoredache

LAN, WAN 또는 인터넷 내에 있습니까?
— Zapto

RDP를 인터넷에 공개하여 내 IP가 무엇인지 아닌지 알고 있습니다. 누가 그 아래에서 실행 될지 잘 모르겠습니다. 그 정보를 검색 할 수있는 것은 무엇이든 생각합니다.
— chaz

몇 가지 검색을 수행 했으며이 게시물 ( serverfault.com/questions/314386/listing-users-using-rdp )이 필요한 것에 매우 가깝습니다. Powershell에서 목표 / 반환 및 IP를 만들기에 능숙하지 않습니다
— Skawt

해당 이벤트 유형과 그것이 제공하는 정보는 여전히 원격 IP를 제공하지 않습니다. 이벤트 로그에서 가장 가까운 것은 '컴퓨터'입니다.
— chaz

답변:


21

명령 프롬프트에서 다음 명령을 실행하여 RDP (포트 3389)에 연결된 원격 IP 목록을 얻을 수 있습니다.

netstat -n | find ":3389" | find "ESTABLISHED"

나는 이것이 powershell (또는 심지어 평범한 오래된 배치 파일)에서 스크립팅 될 수 있다고 확신합니다. 당신이 관심이 있다면 내일 예를 제공 할 수 있습니다.


매우 효과적이기 전에 이것을 사용했습니다. 이제 RDP 클라이언트가 연결될 때 스크립트를 트리거하는 방법을 찾아야합니다.
— chaz

12

task schedulerWindows와 함께 제공 되는 응용 프로그램은 이벤트 로그의 이벤트가 생성 될 때 트리거되는 배치 스크립트를 실행할 수있는 위치로 구성 할 수 있다는 것을 알았습니다. UI를 통해 이벤트 유형, 이벤트 소스 및 이벤트 ID를 선택합니다.이 경우 4264를 사용했습니다 (예는 모든 로그온 유형을 캡처 함). 여기에 간단한 배치 스크립트를 대신 사용했습니다.

SET logfile="rdp_ip_logs.log"
date /T>>%logfile%
time /T>>%logfile%
netstat -n | find ":3389" | find "ESTABLISHED">>%logfile%

: 또한 나는에게 가입하는 방법이 슈퍼 유용한 예제를 발견 / .NET에서 이벤트 쓰기를 듣고 http://msdn.microsoft.com/en-us/library/bb552514(v=vs.90).aspx 'I 웹 기반 검사를 위해 특정 이벤트를 데이터베이스에 쓰는 데 대신 사용합니다.

이 솔루션의 유일한 단점은 원격 데스크톱 서비스를 사용하도록 설정하고 여러 사람이 연결된 경우 netstat 출력에서 ​​이들을 구별 할 수 없다는 것입니다.


1
그것은 모두 당신이 그것을 종합 할 때 실제로 매우 우아한 해결책입니다. 향상된 작업 스케줄러 기능도 알지 못했습니다. 잘 했어!
— 존 호머

이전 버전 스케줄러의 경우 배치 파일 및 evtmon.vbs 스크립트로 수행 할 수 있습니다 ( blogs.technet.microsoft.com/netmon/2007/02/22/…
— Scott R

5

스크립트를 작성하지 않아도되는 경우 보안 이벤트 로그에서 이벤트 ID 4624를 찾을 수 있습니다. 행이 있습니다.

소스 네트워크 주소 : 192.168.xxx.xxx


4264는 로그인 용이며 활성 도메인 컨트롤러 유형 로그인을 로깅하는 데 유용합니다. 접속 한 RDP 클라이언트의 현재 IP가 필요합니다. 로그인 한 계정은 관련이 없으며 grepping / piping netstat의 stdout을 통해 검색 할 수 있다고 생각합니다. RDP 연결에서 쉘 명령 / 스크립트 / 프로그램의 실행을 트리거하는 방법이 있다면 지금 당장 좋습니다.
— chaz

실제로 4624 (오타)가 정확하며 해당 이벤트 ID에 여러 로그온 유형이 표시됩니다.
— chaz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.