반응형
Bash의 간단한 소켓 서버?
TCP 포트 / IP 주소에 빠르게 바인딩하고 모든 정보를 STDOUT에 인쇄하는 방법이 있습니까? 127.0.0.1:4444에 내용을 쓰는 간단한 디버깅 솔루션이 있으며 bash에서 포트를 바인딩하고 모든 것을 인쇄 할 수 있기를 바랍니다. 이 작업을 수행하는 쉬운 방법이 있습니까?
$ nc -k -l 4444 > filename.out
보다 nc(1)
당신이 요청해서 그것을에서 수행하는 방법 bash하지만, netcat대답은 매우 유효합니다 :
$ exec 3<>/dev/tcp/127.0.0.1/4444
$ cat <&3
예상대로 작동합니다.
nc -k -l 4444 |bash
그리고 너
echo "ls" >/dev/tcp/127.0.0.1/4444
그러면 bash가 수행 한 목록이 표시됩니다.
[간단한 보안 경고]
물론 이와 같은 것을 컴퓨터에서 실행하면 네트워크의 모든 호스트에있는 모든 사용자 계정에서 명령을 보낼 수 있기 때문에 모든 종류의 공격에 대해 개방 된 게이트웨이를 갖게됩니다. 이것은 보안 (인증, 식별)을 전혀 구현하지 않고 네트워크를 통해 암호화되지 않은 모든 전송 명령을 전송하므로 매우 쉽게 악용 될 수 있습니다.
ncat@Freedom_Ben이 언급 한 답변을 추가하면 다음 과 같습니다.
ncat -k -l 127.0.0.1 4444
그리고 man ncat의 옵션에 대한 설명 :
-k, --keep-open Accept multiple connections in listen mode
-l, --listen Bind and listen for incoming connections
참고 URL : https://stackoverflow.com/questions/4739196/simple-socket-server-in-bash
반응형
'IT TIP' 카테고리의 다른 글
| 정적 열거 형 대 비 정적 열거 형 (0) | 2020.10.28 |
|---|---|
| Firefox가 https로 리디렉션합니다. (0) | 2020.10.28 |
| 'respond_to'대 'respond_to?'가 혼동 (0) | 2020.10.28 |
| jQuery $ .cookie는 함수가 아닙니다. (0) | 2020.10.28 |
| GCC 치명적인 오류 : stdio.h : 해당 파일 또는 디렉터리가 없습니다. (0) | 2020.10.28 |