Windows 명령을 Linux Netcat 셸에 전달한 다음 출력을 다시 읽으려고 합니다.
지금까지 나는 다음을 가지고 있습니다 :
cat <( printf 'ipconfig\n' )| nc -v 137.148.70.243 443
멋진 Linux 터미널에 복사하여 붙여넣으면 연결된 Windows 시스템에서 IP 정보를 가져옵니다.
그러나 bash를 통해 동일한 명령을 호출하려고 하면 다음 오류가 발생합니다.
./DumpIP.sh: line n: syntax error near unexpected token `('
무엇을 제공합니까?
편집하다
그래서 내가 시도하면 :
#!/bin/sh
cat <( printf 'ipconfig\n' )| nc -l
알겠어요
./DumpCreds.sh: line 2: syntax error near unexpected token `('
./DumpCreds.sh: line 2: `cat <( printf 'ipconfig\n' )| nc -l'
답변1
문제는 shebang 라인을 호출하는 sh
대신 스크립트를 호출한다는 것입니다. bash
구문 규칙은 bashism <(command)
이 없을 때 POSIX 쉘( symlink의 sh
경우 )을 에뮬레이트하는 bashism을 전달하는 것입니다./bin/sh
/bin/bash