서버에 이 작업을 지시할 때 necat 또는 socat을 사용하여 PC에서 스크립트를 실행하도록 구성하고 싶습니다.
UDP를 통해 간단한 메시지를 보낼 수 있는 오래된 애플리케이션이 있습니다.
메시지는 재생 목록에 저장됩니다.
예
netcat/socat을 실행하는 PC에 매크로/스크립트를 열라는 메시지를 보내고 싶다고 가정해 보겠습니다.
"C:\Users\xxx\Desktop\script.bat"
서버에는 수신 포트가 필요합니다. 명령이 수신되면 프로그램을 실행합니다.
어떻게 해야 합니까? 어떻게 시작해야 할지 모르겠고, 인터넷에서 아무것도 찾을 수 없습니다.
추신. UDP의 보안이나 신뢰성은 신경 쓰지 마십시오. 이것은 LAN 문제이므로 서버가 나에게 아무 것도 말해 줄 필요가 없습니다.
답변1
이것은 고전적인 사용법입니다 netcat
. 그러나 이것은 unix.SE
내 대답이 전적으로 유닉스에 있을 것이라는 것입니다.
참고: netcat
배포판마다 이름이 다릅니다.
netcat
nc
:일부 배포판의 별칭nc
: Linux의 GNU netcat 또는 *BSD의 BSD netcatncat
:Nmap netcat, 대부분의 시스템에서 일관됨
옵션은 버전마다 다르며 netcat
, 버전마다 다르게 동작할 수 있는 점을 지적하겠습니다. 또한 netcat()의 nmap 버전은 ncat
시스템 전체에서 명령줄 옵션이 일관되므로 설치를 강력히 권장합니다.
ncat
이 답변 전체에서 netcat 이름을 사용 하겠습니다 .
전송 제어 프로토콜
TCP를 사용하여 시스템을 제어하려면 명명된 파이프 사용(모든 버전의 netcat에서 작동)과 사용 (Linux 버전에만 존재하거나 더 정확하게는 *BSD에서 완전히 다른 작업을 수행) netcat
이라는 두 가지 옵션이 있습니다 .-e
-e
우수한서비스 터미널다음 중 하나를 수행해야 합니다.
mkfifo pinkie
ncat -kl 0.0.0.0 4096 <pinkie | /bin/sh >pinkie
여기서: 0.0.0.0
"모든 인터페이스"에 대한 자리 표시자는 특정 IP를 사용하는 특정 인터페이스로 제한하고 -l
수신 대기 -k
상태를 유지합니다(단일 연결 후에는 종료되지 않음).
또 다른 옵션(linux/ncat에서)은 다음을 사용하는 것입니다:
ncat -kl 0.0.0.0 4096 -e /bin/sh
동일한 결과를 얻으십시오.
우수한고객애플리케이션을 사용하거나 간단히 다음을 실행할 수 있습니다.
ncat <server ip> 4096
서버의 셸을 제어하고 명령을 보낼 수 있습니다.
UDP 프로토콜
UDP도 비슷하지만 몇 가지 제한 사항이 있습니다. -k
UDP 프로토콜은 그것 없이는 사용할 수 없으므로 -e
재사용 가능한 소켓을 구현하려면 linux/ncat이 필요합니다.
우수한서비스 터미널당신은:
ncat -ukl 0.0.0.0 4096 -e /bin/sh
그리고고객(또는 귀하의 신청서에서):
ncat -u <server ip> 4096
다시 작동하는 쉘이 생겼습니다.