일부 복사 작업을 수행한 후 bash 스크립트에서 netcat을 통해 ProFTPD를 종료하는 방법

일부 복사 작업을 수행한 후 bash 스크립트에서 netcat을 통해 ProFTPD를 종료하는 방법

netcat을 통해 proftpd 서버에 연결 중입니다.

nc 10.10.239.150 21

그런 다음 "mod_copy 모듈은 SITE CPFR 및 SITE CPTO 명령을 구현합니다"와 같은 일부 복사 작업을 수행하고 있습니다.

여기에 이미지 설명을 입력하세요.

"250 복사 성공" 후에 이 netcat 연결을 종료하고 bash 스크립트를 계속 실행하고 싶습니다.

다음 호출을 시도하고 CPFR 및 CPTO 지침을 msg.txt 파일에 아웃소싱했습니다.

nc 10.10.115.253 21 < msg.txt

하지만 proftpd를 성공적으로 작동한 후 netcat proftpd 연결을 종료하는 방법을 여전히 모르겠습니다.

nc/proftpd는 시도된 여러 EOF 명령을 이해하지 못합니다. CTRL C 사용자 입력만 작업을 수행하지만 이 작업은 자동으로 수행되어야 합니다.

여기에 이미지 설명을 입력하세요.

답변1

테스트할 kali Linux 시스템이나 ProFTPD 서버가 없어서 약간 추측이지만 유용할 수 있는 내용을 보았습니다.

첫째, 설명: 서버에 대한 연결 종료는 실제로 클라이언트가 명령을 보내는 것이 아니라 TCP 연결을 닫는 방식으로 결정됩니다(기술적으로는 "fin"(완료) 플래그와 함께 TCP/IP 패킷을 보내는 방식). 따라서 여기서 정말로 필요한 것은 nc모든 작업이 완료되면 연결을 닫도록 프로그램에 지시하는 방법을 찾는 것입니다. 이를 수행하는 방법은 nc프로그램에 따라 다릅니다(모두 동일하지는 않습니다).

가능성 1: 일부 버전에는 입력이 EOF에 도달한 후 TCP 세션을 닫도록 지시하는 옵션이 nc필요합니다 . -N사용 중인 버전에서 이 기능이 필요한지 알아보려면 매뉴얼 페이지를 확인하세요.

가능성 2: 일부 버전에는 -w연결에 대한 "유휴 시간 제한"을 초 단위로 지정할 수 있는 옵션이 있습니다. 기본적으로 지정하면 nc -w 5 ...5초 동안 활동이 없으면 연결이 종료됩니다. 매뉴얼 페이지를 다시 확인하십시오.

관련 정보