2017-01-04 8 views
0

이것은 입력을 표준 입력을 통해 포트에서 실행되는 바이너리로 전달하는 것과 관련이 있습니다. 다음과 같이 내가 바이너리를 사용 netcat을 실행 할 수 있어요 :netcat에 대한 다중 입력 피드

이제
nc $server $port 

가 하나의 라인을 통과, 나는 다음과 같은 작업 얻을 수 있습니다 : 그러나

python -c 'print "AAAA"' | nc $server $port 

을, 나는 알아낼 수 없습니다입니다 stdin에 두 번 쓰는 방법. 첫 번째 피드 서버에서 어떤 응답에 따라

:

내 프로그램은 다음과 같은 흐름 무언가가있다.

line 5: read(stdin,&buffer,20); // This entry is based on some question from the server and need to be determined dynamically 

두 번째 피드는 16 진수 문자도 포함해야하므로 파이썬 출력으로 전달해야합니다.

line 8: read(stdin,&buffer2,20); // This feed is static. 

모든 도움을 주실 수 있습니다.

감사합니다.

답변

0

나는 문제를 완전히 있는지 이해하지,하지만 당신은 다른 프로세스에 서브 쉘 및 파이프에서 여러 명령을 그들 모두의 출력을 실행할 수 있습니다 : 입력 @nickgrim에 대한

$ (python -c 'print "AAAA"'; python -c 'print "BBBB"') | nc $server $port 
+0

감사합니다. 그러나 프로그램 흐름에는 두 개의 읽기 함수가 순차적으로 포함되어 있습니다. 첫 번째 피드는 동적으로 결정되어야합니다. 즉 사용자 상호 작용이 필요합니다. 두 번째는 하드 코딩 된 문자열로 전달 될 수 있습니다. 나는 나의 질문을 다시 편집했다. 희망은 지금 분명합니다. – swatilaxmi28