원격 데스크톱 클라이언트의 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.