This is the mail archive of the
mailing list for the Cygwin project.
Re: reply: problem with nc 1.107-4
- From: Brian Inglis <Brian dot Inglis at SystematicSw dot ab dot ca>
- To: cygwin at cygwin dot com
- Date: Thu, 30 Mar 2017 12:31:35 -0600
- Subject: Re: reply: problem with nc 1.107-4
- Authentication-results: sourceware.org; auth=none
- References: <email@example.com> <CAOC2fq9vVLxCjUGJQUW7e0vagpjsft5oLiZTqzwFdoxfirstname.lastname@example.org>
- Reply-to: Brian dot Inglis at SystematicSw dot ab dot ca
On 2017-03-30 10:44, Michael Enright wrote:
> On Wed, Mar 29, 2017 at 11:28 PM, 高锋 wrote:
>> Two days ago, I wanted to determine whether a udp port of another
>> machine is open or not, which is deployed on different subnet. But
>> Windows platform does not provide utility that can do this. So I
>> downloaded a setup.exe from cygwin, of which version is 2.877 (64
>> bit), and I had never used this utility before.
> I tried this command on Debian 8.7. My conclusion is that this didn't
> tell me that the UDP port is listened to by another machine. I used
> your exact command, which had similarly uninformative results as
> yours. There is no 10.31.x.x machine that I can reach, yet 'nc -u'
> allowed me to send text to that address and port. Strace of 'nc -uz'
> showed that the special -z option (zero i/o port scan) code "sent
> successfully" a single byte to the destination, even though it
> doesn't exist.
> I conclude that "nc -uz" can't be used to determine unambiguously if
> a UDP host is available, because it will succeed even if the host is
> not present. And that carries to all systems that use the same 'nc'
> utility as Debian or Cygwin.
man nc CAVEATS says -uz always reports success and suggests how it
could be used.
nc is used, instead of a network daemon, as a patient network pipe that
can be used to move arbitrary bytes, without having to previously set
up direct routes between systems or daemons to handle specific types of
connections e.g. if you have sshd set up on a target system, and a
route to it, you may do:
src $ tar -cf - -C /export/mnt/home . | ssh dest tar -xf - -C /nfs/home
with nc if you don't have any direct route to the target or sshd set up
still you may do:
dest $ nc -dl 9000 | tar -xf - -C /nfs/home
inter $ nc -dl 9000 | nc 10.123.456.789 9000
src $ tar -cf - -C /export/mnt/home . | nc 192.168.123.456 9000
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple