September 28, 2008

nc2 : Netcat without a couple of annoyances

Netcat is without doubt one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most useful tools I know. For years I've used it almost every day, and I still do, in different platforms. Its simplicity is its beauty.

All this time, however, two small details have kept cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 experience from being absolutely perfect for me. I know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are many rewrites of nc out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re nowadays and some versions may not show cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 behavior I'm about to describe. I'm talking here about code based on that original from Hobbit, both for Linux (v1.10) and for Windows (v1.11).

The first annoyance is (was) in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Linux version. While in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Windows version cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is a "-L" option ("listen harder") to make netcat continue listening for new connection attempts after a connection is terminated, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no such option in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Linux version. You can get around it by launching netcat inside a "while" shell loop, but personally I've always found that to be a pain in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 neck, especially when you compare it to simply invoke netcat with a capital "L" instead of lowercase "l", as you do in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Windows version.

The second annoyance is (was) in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Windows version. If you send a file through cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client netcat's standard input (e.g. "cat(or type) file.txt ¦ nc target_ip target_port"), in Linux netcat terminates cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 connection as soon as it is finished sending cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file, but in Windows cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 connection stays active until you tear it down manually, pressing CTRL-C, when you think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 transfer is finished. That simply sucks.

Well, I decided to put an end to it. I downloaded cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code, which fortunately is distributed under cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GPLv2 license, made a couple of tiny modifications (yes, you may call cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m quick and dirty hacks, I won't be offended) et voilà, "nc2" was born. Thus, let me make it clear that "nc2" is nothing more than "nc" with two little hacks that eliminate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 small annoyances I just described.

I made it for myself, but I decided to publish it in case someone else finds it useful. The zip file (nc2-all-080925.zip, MD5 b26fd6bab7b4a4d89a76fa52dca0f64b, SHA1 b8639b450974a182b67fa637aa9484d111bff534) contains binaries for both platforms ("nc2" and "nc2.exe", respectively), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir source code, and a copy of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original source code I derived nc2 from. I downloaded cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Windows version from http://joncraton.org/files/nc111nt.zip and for Linux I used cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 netcat package that comes with openSUSE 10.3 (yes, you got me, I used NETinVM for this too :-) ).

Finally, and before you ask... I renamed it to "nc2" because this way it is easier for my feeble mind to distinguish when I'm running my own version or some ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r. For those of you with stronger minds that may feel outraged by this fact, I only have two words: "mv" and "move" ;-).

David Perez.

9 Comments:

Blogger rochemc said...

Ole! :)

Thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 effort David, we'll use it.

4:56 PM  
Blogger David Perez said...

You're most welcome!

5:00 PM  
Blogger Robin said...

It is always cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 simplest changes that are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best!

1:57 PM  
Anonymous Anonymous said...

For your second issue...that Windows doesn't close cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 conneciton, I always use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -w [seconds] option to tell it to wait x seconds after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 final read and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n close. For example, on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 receiving end I use:

nc -l -p 3333 > filename.ext

On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sending end, I use:

cat filename.ext | nc -w 3 1.2.3.4 3333

Seems to work for me, but I admit that I use nc in Cygwin on my Windows box, so perhaps that's why?

8:46 PM  
Anonymous Anonymous said...

Thanks a lot for this! cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -L option comes very very very handy! Why dont you push this as a patch to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 main netcat?

Kind regards,
David Negreira.

4:28 PM  
Blogger David Perez said...

Hi David (Negreira), I'm glad to hear that you find it as useful as I do!

I haven't pursued making an official patch for two reasons, mainly. For one thing, it's a quick and dirty hack that I'm not especially proud of, it works but most probably cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is a much cleaner way to achieve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same purpose. And second, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are several "main" development branches of netcat out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re and I didn't feel like approaching all of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to include this functionality. I guess you might call me lazy for that... But hey! If you're up for it, don't let me stop you! Please go ahead and make it happen! ;-)

Cheers,
David (Perez).

PS (to anonymous): Maybe cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cygwin version with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -w option doesn't need cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hack. I haven't checked.

6:11 PM  
Blogger Yo Man said...

very nice.. Do you think you may have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same fixes for cryptcat?

11:05 PM  
Blogger David Perez said...

Hi Jim,

I don't have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same fixes for cryptcat, nor plans to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m.

You may want to have a look at ncat, though. Ncat is a new incarnation of netcat, written from scratch by Fyodor and a small group of authors, and includes SSL and many ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r features. I haven't tried yet, but I would be very surprised if you would find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se little annoyances in its code too.

10:08 PM  
Anonymous Anonymous said...

hey David Perez, your version is great ... but, what happened with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -e Option??? (GAPING_SECURITY_HOLE) ??? you version "nc2" has no that !!!

I did:
~$ ./nc2 -h

and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 result was all without "-e" option ....

Then i recompiled your source code adding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DGAPING_SEC... at makefile and now cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 my new result was "cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -e option is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re but DOESNT work properly ... i use:
~$ ./nc2 -vvLp 8002 -e /bin/sh

But it doesnt work .. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bahavior of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -L is identical to -l only when i use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -e option ...

Could you explainme whats up???

My email account is ag_broos@hotmail.com and my freak name is Broox, thnx David

6:12 AM  

Post a Comment

<< Home