순수 bash에서 포트 스캔을 수행할 수 있습니까?

순수 bash에서 포트 스캔을 수행할 수 있습니까?

외부 프로그램 없이 bash 언어만 사용하여 원격 호스트에서 포트 스캔을 수행할 수 있습니까?

bash의 내장 기능을 살펴본 후 저는 다음과 같이 답했습니다. 아니요. 그러나 bash 내장 기능에는 없지만 수행할 수 있는 몇 가지 해결 방법이나 기타 가능한 명령이 있을 수 있습니다.

답변1

Bash의 TCP 연결 지원을 사용하여 열려 있는 포트를 확인할 수 있습니다.

if 2>/dev/null >"/dev/tcp/${IP}/${PORT}"; then echo open; fi

${PORT}상위 포트에 연결이 열릴 수 있는지 확인합니다 ${IP}.

테스트 자체는 리디렉션을 시도하여 수행됩니다 . 표준 오류를 ()로 리디렉션하면 /dev/tcp/${IP}/${PORT}대상 포트에 액세스할 수 없을 때 /dev/null결과 오류 메시지가 숨겨집니다 .2>/dev/null

이는 루프에서 모든 포트를 검색하는 데 사용할 수 있습니다.

관련 정보