1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
|
# Ncat Changelog ($Id$); -*-text-*-
o Reworked the test program test/test-cmdline-split slightly and added
additional test cases. Rewrote cmdline_split in ncat_posix.c [Josh Marlow]
o Added a test program, test/test-cmdline-split to test the cmdline_split
function in test/test-cmdline-split in preparation for an eventual rewrite of
cmdline_split [Josh Marlow].
Ncat 0.2
o Ported to Windows on Visual C++ Express 2008. Support isn't perfect because
of the lack of a fork() call and because we had to implement a hack to get
select()-like support for stdin on Windows, but most everything works fine.
We hope to get around these issues in the future. [Kris Katterjohn, Mixter]
o Added IPv6 listen support (including --broker). Host access control is not
yet supported. [Kris]
o Added SSL listen support (including --broker) [Kris]
o Fixed SSL and IPv6 connect issues [Mixter]
o Added IPv4 host access control to UDP listener and --broker [Kris]
o Brokering mode now continually listens for connections rather than exiting
after the last client disconnects. [Kris]
o Changed -l to mostly behave like OpenBSD Netcat. Instead of -l specifying
the local port number and -s specifying the local address to listen on, -l
is a non-option flag and you specify the local address/port like you do
a host to connect to in client-mode. [Kris]
o Ncat's default port number is now 31337 instead of 5000. This because 5000
is used for other protocols, such as UPnP. [Kris]
o Specifying no port number with -l now works to listen on Ncat's default
port number. The original Netcat seems to just use an ephemeral port in
this case, and other incarnations make you specify a port number. So now
you don't have to specify a host or port number with -l, in which case
Ncat listens on any address, port 31337. [Kris]
o Fixed Ncat so that it actually works like it should when transferring a file
between instances. Running "ncat -l 3333 <input" and then connecting with
"ncat host 3333 >output" should send the input file from the server to the
client. However actually doing this would either silently fail or complain
about a broken pipe. Thanks to eldraco for reporting this problem. [Kris]
o Client-mode Ncat now exits upon receipt of EOF from the network side [Kris]
o Client-mode Ncat now just tries to read anything from the network (still via
the Nsock library) rather than reading in a line-based manner. While being
an improvement in its own right, this is especially helpful for the new
Telnet negotiation option. [Kris]
o Increased the default network data buffer sizes (reading and writing) from
a measly 256 bytes to a more respectable 8K for TCP and 128K for UDP. UDP's
is this large because a read returns an entire datagram, or discards what's
left if there is no room. [Kris]
o The proxy options have now changed. Instead of having separate option names
for all of the different types of proxy protocols that will be supported,
--proxy is available to specify the proxy address and optional port, and
--proxy-type is available to specify the proxy protocol to use. [Kris]
o Added an HTTP proxy server feature, which creates a simple forking HTTP proxy
server on the listening port (only supports CONNECT). This is specified by
"--proxy-type http" in server mode. [Kris]
o The SOCKSv4 proxy option is now specified by "--proxy-type socks4" instead
of --socks4-proxy. This option also now takes the username from --proxy-auth
rather than the previous user@host:port syntax. [Kris]
o The HTTP proxy option is now specified by "--proxy-type http" instead of
--http-proxy. Also, the HTTP CONNECT request now uses CRLF for the EOL
instead of just LF. [Kris]
o Removed the SOCKS proxy server support because it was broken, didn't have
any support for SOCKSv5, and we now have an HTTP proxy server for a similar
purpose. [Kris]
o Fixed --proxy-auth which always caused a segmentation fault. [Kris]
o Fixed an issue which commonly occurred when using --proxy-type socks4 and
when reading from a piped or redirected stdin. The problem was that Ncat
was sending the data read from stdin across the network before it was fully
connected to the proxy. Thanks to Jah for noticing this problem. [Kris]
o The output options -o and -x are no longer mutually exclusive. Also, the
documented alias for -x (--hex-dump) now works. [Kris]
o Renamed -t (--idle-timeout) to -i [Kris]
o Added -t/--telnet to handle DO/DONT WILL/WONT Telnet negotiations [Kris]
o Added -C/--crlf to try to use CRLF for line-endings. This comes in handy
when talking to some stringent servers directly from a terminal in one of
the many common plain-text protocols which specify CRLF as the required EOL
sequence. [Kris]
o Added -w/--wait for specifying a connect timeout [Kris]
o Added -g and -G for IPv4 loose source routing [Kris]
o Added -p to specify a local port to bind to in client-mode [Kris]
o Added -n/--nodns to not resolve any hostnames [Mixter]
o Added -c/--sh-exec, which is like -e but executes via /bin/sh [Kris]
o Made -s (set source address) actually work in client-mode [Kris]
o Changed --recvonly and --sendonly to --recv-only and --send-only [Kris]
o Options taking a time (-d, -i, -w) are now more flexible: you can append
an "s" for seconds, "m" for minutes or "h" for hours (e.g. 30s) [Kris]
o Fixed a bug which could cause Nsock tracing (use of -v one or more times)
to print very inaccurate times [Kris]
o Removed unused XOR code [Kris]
o Added file dependency checking to the Makefile. So now, for instance, if
a header file is modified, running make again will recompile all of the
files which depend on it. [Kris]
o Improved the build system by removing the automake requirement ([Mixter])
and by cutting down configure.ac and Makefile.in a lot ([Kris]). Other
various build/configure improvements were made as well.
o Lots of documentation rewrites/updates, including separating the man page
into sections such as "Proxy Options", "Client-Mode Options", etc. [Kris]
o Lots of code cleaning up [Kris]
Ncat 0.10rc3
o Autoconf build process. ./configure;make!
o Fixed Segmentation faults on outgoing connections that appeared on on
certain platforms/architectures/compilers.
o Improved overall build quality and portability to other platforms and
architectures. Should build on multiple different platforms quite well.
o Fixed some bounds checking on a SOCKS4 server buffer in ncat_connect.c
o Fixed some documentation typos and --help/usage typos.
Ncat 0.10rc2
o Fixed inetd-like support so executed programs actually exit when the
client does and don't hang.
o Fixed some looping read/write issue with EOF handling.
-- Thanks to Sebastian Garcia.
o Moved connect message "Lookup of $foo returned $bar" to the verbosity
output set instead of the default output.
o Fixed bug in SOCKS4 server on rejected/refused connections.
o First official release!
Ncat 0.10rc1
o Removed access to XOR code with a view to totally removing it in the next
release of Ncat
o One or two minor bug fixes.
Ncat 0.09
o Added hexdump() support.
o Added XOR cipher support.
o Added --allow, --deny support IP address handling CIDR.
o General code tidy up; better documentation in header file.
o Various error messages cleaned up. Added new #define for NCAT_SHORT.
o Added missing 'strerror(errno)' handling to some error messages.
o Cleaned up various bits of code.
o Reformatted code heavily into K&R layout.
o Fixed XOR so it'll use longer passwords.
o Worked on various cross-platform portability issues.
-- Thanks to Jonathan Saylor.
Ncat 0.08
o Added millisecond resolution timer for blocking read/writes.
o Added HTTP/1.1 CONNECT method proxying support.
o Added Base64 encoder for handling Proxy-Authorization support.
o Support added for --broker, full I/O multiplexing support.
o Added additional feature of --talk
Ncat 0.07
o Added feature of fork()'ing off on executing a 3rd party program to allow
continued incoming connections.
o Added support for ASCII logging.
o Added support for hexdump logging.
o Various bits of code cleaned up.
Ncat 0.06
o Added --listen support.
o Added TCP/UDP support for --listen.
o Added command line parser for handling options to pass to the command to
be executed.
o Polished up --help, --verbose & --version.
|