nc fails to connect the first time and then succeeds
Thomas Wolff
towo@towo.net
Tue Apr 21 16:30:18 GMT 2020
Please don't "top-post".
Am 21.04.2020 um 17:14 schrieb Jack Adrian Zappa via Cygwin:
> Nm. I figured it out. Seems if you don't specify what type of
> listener, it'll default to IP4. When you create a sender, it'll try
> first using IP6 and then fall back to IP4. It's that first connection
> that is causing the failure. If you specify the listener to use IP6,
> then it works fine.
OK, but what's the solution? How do you specify that in your scenario?
>
> Thanks,
>
> A
>
> On Tue, Apr 21, 2020 at 3:48 AM Jack Adrian Zappa <adrianh.bsc@gmail.com> wrote:
>> I was trying to do some testing of a ssh port forwarding issue I was
>> having, by trying to reduce the problem into something simpler. So I
>> reached for netcat (nc). Turns out that when trying to connect a
>> listener to a sender directly, it will fail first and then succeed.
>>
>> Example:
>> In terminal 1 we do:
>>
>> $ nc -l 1234
>>
>> nc waits. In terminal 2 we do:
>>
>> $ nc -v localhost 1234
>> nc: connect to localhost port 1234 (tcp) failed: Connection refused
>> Connection to localhost 1234 port [tcp/*] succeeded!
>>
>> The initial failure is fine when connecting directly, but this failure
>> is disastrous when connecting through an ssh connection. This is
>> because when the sshd connects to the nc listener, it will first fail
>> and then succeed. However, that first failure makes the sshd think
>> that there is no connection to be had and just closes the tunnel,
>> making the nc sender just terminate.
>>
>> Is this a coding error or somehow by design? If by design, then why?
>> If by error, then when can we expect this to be fixed?
>>
>> Thanks,
>>
>>
>> Adrian
> --
> Problem reports: https://cygwin.com/problems.html
> FAQ: https://cygwin.com/faq/
> Documentation: https://cygwin.com/docs.html
> Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list