Я использую утилиту netcat в Linux для получения выходных данных программы на компьютере с Windows. Моя проблема в том, что программа на машине Windows не всегда дает результат.
Как я могу проверить, было ли установлено соединение с netcat?
То, что я делаю до сих пор, это «nc -l -v 9103 > output
», затем я проверяю размер вывода, проблема заключается в том, что netcat записывает в файл только после того, как был достигнут определенный размер буфера или обнаружена новая строка char, поэтому в некоторых случаях даже несмотря на то, что соединение было установлено, размер файла определяется как нулевой.
Как я могу проверить, установил ли кто-то соединение с 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]