![Bash 스크립트를 사용하여 Kali Linux에서 소켓 열기](https://linux55.com/image/60825/Bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20Kali%20Linux%EC%97%90%EC%84%9C%20%EC%86%8C%EC%BC%93%20%EC%97%B4%EA%B8%B0.png)
다음 명령을 사용하여 Ubuntu에서 TCP 또는 UDP 소켓을 여는 방법을 알고 있습니다.
exec 3<>/dev/tcp/google.com/80
예를 들어:
포트 80에서는 TCP 소켓을 열 수 있지만 Kali Linux에서는 열 수 없습니다.TCP 디렉토리의지하다구현하다주문하다.
Kali Linux에서 소켓을 여는 방법을 알려줄 수 있는 사람이 있습니까?
bash(스크립트)를 사용하여 TCP/UDP 소켓을 여는 더 좋고 더 표준적인 방법이 있습니까?
답변1
문제의 코드는 실제로 /dev/tcp
파일 시스템의 기존 코드에 의존하지 않습니다. 오히려 이는 Bash 자체의 기능입니다. 예를 들어, 예제의 파일 설명자 3에 간단한 HTTP 요청을 작성하면 다음과 같은 응답을 받아야 합니다.
> ls /dev/tcp ls: /dev/tcp: No such file or directory
> exec 3<>/dev/tcp/google.com/80
> echo -e "GET / HTTP/1.1\n\r" >&3
> cat <&3
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html;
charset=UTF-8
[...SNIP...]
이것이 쉘에서 작동하지 않으면 사용 중인 기본 쉘에 이 특정 기능이 없을 수 있습니다.
쉘 스크립트 내에서 TCP/UDP 연결을 설정하는 다른 널리 사용되는 방법은 다음과 같습니다.netcat
그리고socat
공공 시설.