impromptu web server using netcat

David J Berube djberube at berubeconsulting.com
Sun Jan 14 12:46:49 EST 2007


Slick. Suppose you wanted to download a file using this kind of server 
onto an IE machine, but the browser kept viewing the file instead of 
displaying it. You should be able to do this:


(echo HTTP/1.0 200 OK; echo 'Content-Disposition: attachment; 
filename="some_filename.pdf"'; echo; cat some_filename.pdf) | nc -l -p 8080

That should force the "save as or open" dialog.

Take it easy,

David Berube
Berube Consulting
djberube at berubeconsulting.com
(603)-485-9622
http://www.berubeconsulting.com/

aluminumsulfate at earthlink.net wrote:
> Hi, All...
> 
> Most of you are probably familiar with the ever useful TCP/IP utility
> "netcat" (often /usr/bin/nc).  It's real handy for doing quick and
> easy file transfers, or otherwise tossing bytes about on a network.
> It runs on most variants of UNIX (including Linux) and there's even a
> version for Win32.
> 
> Those of you who have ever tried to transfer a file between 'doze and
> 'nix know how hard it can be... create and mount a shared folder or
> samba share, set up an httpd or ftpd, install putty, third-party file
> transfer websites, AIM file transfer, etc.  - all HORRIBLY inelegant
> AND time-consuming solutions.  The win32 port of netcat has been
> *invaluable* in this kind of situation, allowing simple file transfer
> between Windows and Linux machines, using one (relatively) simple
> command and only one small additional executable (nc.exe).
> 
> You can find a copy of Win32 netcat at:
> 
>   ftp://ftp.dbnet.ece.ntua.gr/pub/users/george/nc.exe
> 
> or extract the nc.exe file from the tarball at:
> 
>  http://gd.tuwien.ac.at/gnu/gnu-win32/release/netcat/netcat-1.10-2.tar.bz2
> 
> Unfortunately, the popular Win32 version of netcat requires a DLL
> named ast54.dll, which seems to be missing on some versions of XP
> Professional.  Having recently been faced with such a problem, I tried
> what may seem an insane solution: using netcat to pose as a web
> server!
> 
> As it turns out, it's not only possible but also quite simple to
> create a simple web server using netcat:
> 
>  $ (echo HTTP/1.0 200 OK; echo; echo 'Hello, world!') | nc -l -p 8080
> 
> A web browser pointed at port 8080 will then retrieve the content
> "Hello, world!" and display it in the browser window like any other
> web page.  This technique can be used to transfer any kind of file
> (text, binary, tar archive, etc.) and has been confirmed to work with
> Firefox.  Would anyone care to test against IE?
> 
> Yeah, it's kind of a loopey solution, but it's still relatively
> simple.  Additionally, it requires NO extra software of the target
> machine - not even netcat.  All that's required on the receiving
> machine is a web browser.
> 
> Would anyone be up for implementing a netcat server for HTTP PUT?  :D
> _______________________________________________
> gnhlug-discuss mailing list
> gnhlug-discuss at mail.gnhlug.org
> http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss/
> 
> 


More information about the gnhlug-discuss mailing list