2014-11-16 6 views
-1

Im netcat을 사용하여 클라이언트와 서버를 사용하여 다른 PC로 파일을 보냅니다. 문제는 서버에서 클라이언트로 파일을 보낼 때 파일 내용이 전송되지만 프로그램이 두 컴퓨터에서 계속되지 않는다는 것입니다. 서버에서Nectcat 끝 연결

코드 : 클라이언트에서

($nc -nlv $server < xa.txt) 

코드 :이 경우

($nc $ip_server $door > xa1.txt) 
echo "done" 

은 에코를 보여주고, 콘솔에서 파일을 접수에, 연결을 만든 광장이 가득 찼습니다 나던 색깔.

+0

마지막 문장을 이해할 수 없습니다. –

답변

0

정상적인 경우 : netcat은 입력이 끝날 때까지 읽은 다음 연결이 끝날 때까지 씁니다. 그것은 이렇게 디자인되었습니다.

여러 파일을 전송하려면 sftp, scp, rsync과 같은 프로토콜을 사용하십시오.

또 다른 방법은 tarnetcat을 사용하는 것입니다. 수신 측에서 수행

$ nc -lv $port | tar xvfz - 

와 전송 끝에

는 수행 등

-q seconds after EOF is detected, wait the specified number of seconds and then quit. 

또는

-w secs  timeout for connects and final net reads 

아니라

$ tar cfz - * | nc $host $port 
0

사용 시간 제한 옵션을, 나는 네가 필요가 없다고 생각한다.

그러나 ncat (insecure.org, nmap을 만든 이들)은 EOF를 확인하자마자 연결을 끊습니다.