nc(netcat)被譽爲網絡工具中的「瑞士軍刀」,體積雖小但功能強大,nc最簡單的功能是端口掃描,這裏我主要筆記一下它做爲文件傳輸的妙用。linux
首先看一下幫助信息。shell
$ nc -h OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1) This is nc from the netcat-openbsd package. An alternative nc is available in the netcat-traditional package. usage: nc [-46bCDdhjklnrStUuvZz] [-I length] [-i interval] [-O length] [-P proxy_username] [-p source_port] [-q seconds] [-s source] [-T toskeyword] [-V rtable] [-w timeout] [-X proxy_protocol] [-x proxy_address[:port]] [destination] [port] Command Summary: -4 Use IPv4 -6 Use IPv6 -b Allow broadcast -C Send CRLF as line-ending -D Enable the debug socket option -d Detach from stdin -h This help text -I length TCP receive buffer length -i secs Delay interval for lines sent, ports scanned -j Use jumbo frame -k Keep inbound sockets open for multiple connects -l Listen mode, for inbound connects -n Suppress name/port resolutions -O length TCP send buffer length -P proxyuser Username for proxy authentication -p port Specify local port for remote connects -q secs quit after EOF on stdin and delay of secs -r Randomize remote ports -S Enable the TCP MD5 signature option -s addr Local source address -T toskeyword Set IP Type of Service -t Answer TELNET negotiation -U Use UNIX domain socket -u UDP mode -V rtable Specify alternate routing table -v Verbose -w secs Timeout for connects and final net reads -X proto Proxy protocol: "4", "5" (SOCKS) or "connect" -x addr[:port] Specify proxy address and port -Z DCCP mode -z Zero-I/O mode [used for scanning] Port numbers can be individual or ranges: lo-hi [inclusive]
端口掃描:ubuntu
$ nc -z -v -n 127.0.0.1 20-100 ... Connection to 127.0.0.1 80 port [tcp/*] succeeded! ...
簡單文件傳輸:網絡
客戶端:dom
$ nc -l 192.168.1.11 1234 > passwd.txt &
服務端:socket
$ nc 192.168.1.11 1234 < /etc/passwd
也能夠是cat /etc/passwd | nc 192.168.1.11 1234
tcp
服務端ip是192.169.1.11,端口是1234工具
如此,當兩臺linux機器須要簡單傳輸文件時,再好不過了~ui