2012-09-10 3 views
1

리눅스에서 netcat 유틸리티를 사용하여 Windows 컴퓨터에서 프로그램의 출력을 수신하고 있습니다. 내 문제는 Windows 시스템의 프로그램이 항상 출력을 제공하지 않는다는 것입니다.리눅스에서 유닉스 netcat 유틸리티가 연결되었는지 확인

netcat에 연결되어 있는지 확인하려면 어떻게해야합니까?

내가 지금하고있는 일은 "nc -l -v 9103 > output"입니다. 출력 크기를 확인하면,이 포즈는 특정 버퍼 크기에 도달하거나 새로운 라인 문자가 발생하면 netcat이 파일에 쓰기 만한다는 것입니다. 어떤 경우에는 연결이 이루어졌지만 파일 크기가 0으로 감지됩니다.

누군가가 netcat과 연결했는지 어떻게 확인할 수 있습니까?

나는

nc -l -v -e someprog.exe 9103 > output 

를 사용하여 시도하지만 내 netcat을 나던이

아래 내가 가지고있는 옵션입니다 지원하는 것

$ nc -h 
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port] 
      [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version] 
      [-x proxy_address[:port]] [hostname] [port[s]] 
     Command Summary: 
       -4    Use IPv4 
       -6    Use IPv6 
       -D    Enable the debug socket option 
       -d    Detach from stdin 
       -h    This help text 
       -i secs   Delay interval for lines sent, ports scanned 
       -k    Keep inbound sockets open for multiple connects 
       -l    Listen mode, for inbound connects 
       -n    Suppress name/port resolutions 
       -p port   Specify local port for remote connects 
       -r    Randomize remote ports 
       -s addr   Local source address 
       -T ToS   Set IP Type of Service 
       -C    Send CRLF as line-ending 
       -t    Answer TELNET negotiation 
       -U    Use UNIX domain socket 
       -u    UDP mode 
       -v    Verbose 
       -w secs   Timeout for connects and final net reads 
       -X proto  Proxy protocol: "4", "5" (SOCKS) or "connect" 
       -x addr[:port] Specify proxy address and port 
       -z    Zero-I/O mode [used for scanning] 
     Port numbers can be individual or ranges: lo-hi [inclusive] 

답변

1

상세 모드가 stderr에 연결을 작성합니다, 당신은 할 수 stderr를 파일로 리디렉션하면 자세한 로그의 내용은 이고 [xxxx]에서 [xxxx]

에 연결됩니다.

는 netcat을 제 1 회 접속 후 종료,

nc -l -v -p 9103 -k 1> output 2>connect.log 

을 시도하고 당신이 -k 사용하지 않는 경우 연결

에 대한 connect.log을 모니터링 할 수 있습니다.

1

netcat의 복사본을 업그레이드 할 수 있다면 : 최신 버전 (1.10)은 연결시 프로그램 (또는 셸 명령)을 실행할 수있는 옵션이 있습니다. 그렇지 않으면 netcat이 터미널에서 실행한다고 생각하게 만들 수 있습니다 (예 : script). stdout/stdout/stderr의 모든 내용을 주어진 파일에 저장합니다. 또는 로깅 기능을 screentmux으로 사용하십시오.

+0

내가 어떻게 할 수 있는지 자세히 설명해 줄 수 있습니까? – user434885

+0

그 중 어느 것입니까? 'netcat'을 업그레이드하고'script','screen' 또는'tmux'를 사용합니까? – fork0