nc网络工具的使用

devtools/2024/11/23 18:12:44/

        nc是一个功能强大的网络工具,它可以用于端口扫描,模拟TCP/UDP数据传输,代理端口等。ubuntu14.04默认自带nc工具,windows下需自行下载,一般防病毒软件会认为它有害。下面主要介绍它在linux下的用法。

一.nc扫描某台主机监听的端口

        下面是扫描主机39.156.66.10监听的端口,对端可能设置了防火墙,扫描时通过timeout方式验证端口是否监听,比较慢且对端一般有超时机制长时间扫描会拒绝该连接的访问最好配合timeout和脚本一个个轮询遍历,对于开放的端口如80,可以快速验证,如下截图所示。

nc -zv 39.156.66.10 1-80

二.nc做tcp client端

        使用命令连接39.156.66.10服务器,连接后,服务器会有一个交互超时机制,如果没有数据交互,一段时间后,就退出。因为一直39.156.66.10是一个HTTP服务器,发送数据"GET / HTTP/1.1"去获取一个网页,返回结果400的应答,请求错误,可以通过浏览器配合Wireshark抓包,查看具体要发什么指令才能获取正确的网页。

nc -v 39.156.66.10 80

三.nc做udp client端

        下面我们通过自建的UDP服务器模拟测试,主机192.168.1.153监听UDP:3333端口,如下图1所示,使用nc连接UDP:3333主机,并发送接收数据数据。

nc -u 192.168.1.153 3333

四.nc做简单的代理

4.1 nc创建简单的UDP代理

UDP的代理,将主机192.168.1.153上UDP:3333代理到本机的8080端口,指令如下

nc -u -l -p 8080 | nc -u 192.168.1.153 3333

下图1是服务器及其代理的主机情况,下图2是对应的测试端

测试端通过连接nc所在主机192.168.1.15代理的8080端口,访问实际的数据192.168.1.153:3333.但是这个无法接收3333主机发送的数据。

4.2 nc创建简单的tcp代理做简单的代理服务器

TCP代理,将主机192.168.1.153的TCP:3333通过nc代理到tcp:8080端口,指令如下:

nc -l -p 8080 | nc 192.168.1.153 3333

执行指令后,nc对应主机与TCP服务器建立了一个连接,客户通过nc主机192.168.1.15的TCP:8080端口访问,发送数据3333服务器可以收到,但是3333发送的数据只能到nc主机。

4.3 基于TCP的双向代理

        在开发过程中可能可以用到,这里我们一台云端服务器代理到nc主机的8080端口,用户通过"nc主机:8080"访问云端的服务器,从而隐藏云端服务器的信息。

指令如下:

mkfifo /tmp/fifo
nc -vv -l -p 8899 < /tmp/fifo | nc -vv 47.121.220.84 11022 > /tmp/fifo

测试:

云端模拟的tcp服务器,监听端口为11022。这里使用nc工具模拟服务器,指令如下:

nc -vv -l -p 11022

-vv 输出更多连接和数据传输信息

-l  处于监听模式

-p 后面接监听的端口号

nc代理的指令

本地客户端的访问,本地客户端并不知道是与云端服务器在交互数据:

UDP服务器,加-u参数,同理。


http://www.ppmy.cn/devtools/136349.html

相关文章

如何在matlab中将数据打印到csv格式文件中?

在 MATLAB 中&#xff0c;可以使用 writetable 或 csvwrite 函数将数据打印到 CSV 格式文件中。以下是这两种方法的详细说明和示例。 使用 writetable 函数 writetable 函数适用于将表格数据&#xff08;table 数据类型&#xff09;写入 CSV 文件。这种方法更灵活&#xff0c…

springboot基于springboot的智慧医疗采购系统

摘 要 智慧医疗采购系统是一款高效的医疗采购管理工具&#xff0c;集成了员工管理、供应商管理、医疗器械分类、库存监控、财务统计等多功能模块。通过该系统&#xff0c;医疗机构可实现对采购流程的全面控制和优化&#xff0c;确保物资供应及时准确&#xff0c;降低成本&…

微信小程序数据绑定与事件绑定详解:从入门到精通

微信小程序数据绑定与事件绑定详解:从入门到精通 引言 在微信小程序的开发中,数据绑定和事件绑定是构建用户界面的核心概念。它们不仅可以让开发者更高效地管理数据,还能提升用户交互体验。本文将从基础知识入手,逐步深入,讲解数据绑定、事件绑定、事件传参及数据同步的…

QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现

一、编码问题 在计算机编程中&#xff0c;流&#xff08;Stream&#xff09;是一种抽象的概念&#xff0c;用于表示数据的输入或输出。根据处理数据的不同方式&#xff0c;流可以分为字节流&#xff08;Byte Stream&#xff09;和字符流&#xff08;Character Stream&#xff0…

华为ASP与CSP是什么?

探讨ASP与CSP的区别&#xff0c;我们首先要澄清&#xff0c;这里的ASP并非指计算机编程语言。ASP与CSP均为华为公司合作伙伴体系中的术语&#xff0c;具体区别如下&#xff1a; ASP代表授权服务合作伙伴&#xff0c;其含义是华为授权的服务提供商。ASP通常由华为直接授权&#…

淘宝商品评论爬虫:Java实现指南

在当今的互联网时代&#xff0c;数据的价值日益凸显&#xff0c;尤其是用户生成的内容&#xff0c;如商品评论&#xff0c;对于理解消费者行为和市场趋势具有重要意义。淘宝作为中国最大的电商平台之一&#xff0c;拥有海量的商品评论数据。本文将介绍如何使用Java编写一个简单…

「Mac玩转仓颉内测版23」基础篇3 - 深入理解整数类型

本篇将详细讲解Cangjie中的整数类型&#xff0c;探讨整数的定义、操作、表示范围、进制表示、类型转换及应用场景&#xff0c;帮助开发者在Cangjie中灵活运用整数类型构建程序逻辑。 关键词 有符号整数与无符号整数表示范围与溢出进制表示类型转换字面量与操作 一、整数类型概…

软件工程复习知识点

考点整理 模块的内聚是何含义&#xff1f; 一个模块内各个元素彼此结合的紧密程度。 软件工程方法学的3要素是什么&#xff1f; 方法、工具、过程 软件生命周期的阶段如何还分&#xff0c;每个阶段的主要任务是什么&#xff1f; 软件定义&#xff08;问题定义、可行性研究、需…