netcat使用总结

Netcat安装使用详解 Netcat 从网络的一段读取数据,输出到网络的另一端(可以使用于TCP和UDP协议)   安装 Windows可自行在github上下载netcat kali linux上 方法一: sudo yum install nc.x86_64 方法二: wget http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz/download -O netcat-0.7.1.tar.gz tar z 阅读详情

        第一次知道nc(netcat)是好几年前的事了,那个时候天比现在更蓝,草比现在更绿,卤煮也还是一个刚上大学不久的青葱骚年...

现在把这个01年的老古董拿出来说好像有点炒冷饭的意思,资料也铺天盖地了说多了还惹人嫌。

        不过没办法啊,毕竟当卤煮逐渐发现它有许多颇有内涵的功能的时候,连小伙伴都让它给惊呆了 :D ...


        由于对hacker文化的兴趣,顺理成章的在合适的时候发现了nc,但当时的卤煮正值被铺天盖地的计算机的方方面面知识砸的晕晕乎乎的人生阶段...对于这个一直享有瑞士军刀之名的软件,找过来看了两把完全没有发现其中的滚滚内涵~


        因为是这样的,nc提供的基本功能并不多,windows版本的 "prompt> nc -h" 所给出的所谓官方操作文档不过下面这寥寥数语:

[v1.11 NT www.vulnwatch.org/netcat/]
connect to somewhere:   nc [-options] hostname port[s] [p
listen for inbound:     nc -l -p port [options] [hostname
options:
        -d              detach from console, background m

        -e prog         inbound program to exec [dangerou
        -g gateway      source-routing hop point[s], up t
        -G num          source-routing pointer: 4, 8, 12,
        -h              this cruft
        -i secs         delay interval for lines sent, po
        -l              listen mode, for inbound connects
        -L              listen harder, re-listen on socke
        -n              numeric-only IP addresses, no DNS
        -o file         hex dump of traffic
        -p port         local port number
        -r              randomize local and remote ports
        -s addr         local source address
        -t              answer TELNET negotiation
        -u              UDP mode
        -v              verbose [use twice to be more ver
        -w secs         timeout for connects and final ne
        -z              zero-I/O mode [used for scanning]
port numbers can be individual or ranges: m-n [inclusive]

-d  字面上大约是后台运行的意思,不占用当前shell

-e  这个参数大有内涵...网上一般翻译成程序重定向什么的,但是重定向这个词... 卤煮暂时没去看源码,不知道其具体做了什么事情,但猜测可能是fork一个子进程exec用户程序,然后父进程wait子进程的做法。这个-e用在server端的时候,目测是在accept成功之后,然后把这个用户程序的输入输出重定向到clientsocket对应的readfd和writefd上。具体应用下面再说。

-g  额...这个参数从文档字面上看不太懂(一堆英文专业术语冒出来好可怕... :X)。有些同学翻译成“源路由跳点”实在是太翻译软件了...看下资料大致上是为了做到强制数据流经这些节点,这样就有机会做到类似利用节点IP巧妙的避开目标机的ACL限制这样的功能。官文用了一个词叫“loose-source-routed path”,loose猜测意思大约是指仅简单的保证会经过-g给的节点,并不能保证以这条列表的所示路径来完成链路的意思,因为路由发包所选择的下一个hop是有自己的路由策略的吧,所以保证不了两个路由间的具体路径。。各个操作系统的版本不一定都支持-g,至于数据是否会依照所给节点顺序来传递现在也还不是很清楚。

-G  在-g所给列表中选择一个地址作为当前的下一个路由,据说是因为IP的内存对象都是4字节存储,所以-G所给参数也得是4的倍数,虽然自己换算下也没什么但这种设计只能用惨无人道来形容。这个功能据说在“网络诈骗”方面有一定用武之地,这个卤煮暂时没感受。(centos装了个版本没有-g 和 -G)

-h  for help

-i  每行数据发送出去的延时时间吧(秒)

-l  会listen的东东我们都管他叫server...理解成server mode就好,一次性行为(怎么读都可以...)

-L  和-l做的事情一样,区别在这个“re”上,客户端端口后依然保持

-n  表示connect的目标地址是一个ip,可以略过dns的过程,这个参数一般情况下加不加好像无所谓吧,不加n也可以直接用ip的。

-o  把往来数据log起来,监控用

-p  后面跟端口号,指定一个端口

-r  在范围扫描端口的时候,即执行类似 nc -v 127.0.0.1 1-1000 这样的操作时,加上r参数可以使每次扫描的端口号随机化,否则一般是从高到低依序扫描。

-s  翻译过来叫nc建立连接时用的IP地址,据说可以仿冒本地地址,暂时还不太知道怎么使用。

-t  以telnet方式进行交互,这个暂时不知道和普通的字符方式有何区别...

-u  UDP mode,比如扫端口的时候,带u扫UDP端口,不带就默认扫TCP端口

-v  提示信息,连着两个v会得到更加详细的提示信息,具体区别实际用的时候自己去感受下

-w  connect时的超时时间,一般扫描端口的时候会加上

-z  关闭IO,就是英文字面上的意思,用途也说了。



        无意在文档泛滥成灾的网络上再加一般劣质文档,总之就是先总结下感受这样子,有助卤煮记忆。

        如这些参数所见,除了暂时看上去显得很高端大气上档次的-g -G组合之外,nc实际上只作了很少的事情。无非是每个学过网络编程的人都反反复复写过的小例子像什么connect、listen、bind、read、write、execxx、sleep、IO重定向之类的组合一下。对于思路不够开阔的人(比如卤煮)来说,好像这样的软件根本做不了什么事情。说起来反而是自己以前把网络中用到的许多功能自己给想太复杂了,总觉得要做到某个具体的功能是需要为此写份代码,于是这事那事的一拖再拖最后啥事儿也没去干。


        前几天要重新学习下编写server,刚准备动手写个client以便测试的时候突然灵感一闪,想起了阔别已久的nc,然后便一发不可收拾的用了下去。发现它能做到的事情实在是很多,真是印证了那句话,“简单即是美好”。


扫描端口:

        nc -nvvz -w2 127.0.0.1 1-1000

        最基本的功能之一了,扫描目标ip的端口段,然后用-w加上一个超时时间。参数里加上r使得端口扫描变得随机一些,对方log里看起来不那么像是被扫描的(其实还是很容易看出来)。


连接到目标:

        nc -nvv 127.0.0.1 8089

        作为测试客户端非常常用的功能,即连接到目标ip的某个端口上。连接上之后会把stdin的数据发给server。 

        在确定服务端正常开启的情况下连接被拒多半要去检查下防火墙设置。


服务器:

        nc -lvv -p 8089

        让nc作为一个server监听8089端口,把stdin的数据发给client。


传文件:

        其实和nc没啥关系,主要利用了系统IO重定向或pipe的功能,标准化带来的好处多多。

        发送端通过pipe把文件数据传递给stdin,或者通过重定向把stdin重定向到某个文件上,然后接受端只要对stdout进行重定向把它定向到目标文件上去即可。

        比如:

        server: nc -lvv -p 8089 < my.txt

        client: nc -nvv serverip 8089 > my.txt

        当你在纠结两台机子传个文件到底是用网络共享好还是利用中间ftp好又或者是scp甚至于给自己发个邮件另一台机子上去下载的时候,这简直是你的诺亚方舟。

        这个功能说成传文件说的有些狭隘了,总之就是传递数据,理论上可以把接收端的数据(可能是某种格式编码的)直接传给对应的处理软件去执行,举个例子比如说看个视频什么的。


得到对端机子的shell:

        -e的邪恶能力终于派上用场了。

        一台机子上 nc -lvv -p 8089 -t -e cmd.exe

        然后你去连它的时候神奇的事情发生了,自己的终端会变成对方机子的终端,可以随便做邪恶的事情(在用户权限范围下),原理的话估计和我上面写的类似。

        如果对方机子的nc支持-d,那就更理想一点,加上这个参数使得nc后台运行更加难以发现,更进一步的,修改nc.exe的文件名使查看进程的时候别人也不容易起疑。这个NB的功能除了拿来动真刀真枪之外,还能怎么玩其实主要看-e后面的这个用户程序怎么去写吧,这个还是自己去找灵感。


蜜罐:

        还是作为server的基本功能来说,思路不一样会发现用途立刻就大相径庭了。比如说你没事儿listen一个端口,然后-o 来打log,闲来喝喝茶翻翻log,你就能知道都有哪些人对你的这个端口感兴趣(嘿嘿嘿...)

        更进一步的,因为许多小坏蛋们总是用一些安全渗透工具来找空子,毕竟是工具嘛,识别一些漏洞总是有一组傻乎乎的规则的,如果想要捉弄他们让他们误以为真的有漏洞而采取进一步措施的话,可以结合nc的数据传输功能和-e再加上自写程序来伪造一个。不过小心玩火自焚喽。


反向链接:

        前面说一个拿到server shell的情况,要求server端绑定一个shell程序到端口上。那么实际应用情境中,一般就是小坏蛋给小绵羊电脑上种一个server啦,然后每次小坏蛋去连接都能得到shell。但由于种种问题,小坏蛋要直接连到小绵羊电脑可能比较麻烦,尤其是小绵羊电脑在一个局域网中,通过nat上网的情况下。

        为了解决这个问题,可以换一种思路,小绵羊作为主动发起端并自己绑定一个shell程序到nc,要实现这个步骤可能是小坏蛋哪天千辛万苦入了小绵羊电脑设了一个计划任务,也可能是小坏蛋到小绵羊家里玩的时候在小绵羊电脑里使了个坏...然后小坏蛋电脑只需要安心开着server等小绵羊上钩,每次小绵羊连接到server就自动把自己卖了出去...

        原理的话,猜测是在阻塞connect成功之后fork然后exec,再wait,和主动连接差不多的。不过反向链接省去了正面突围的大麻烦,功德一件,善哉善哉。



        看到比较典型的大概有上面这几种,熟悉的人肯定已经熟悉的不能再熟了。通过和各个系统工具的组合想必还有更多好玩的用法的,所以nc可是一个很益智的玩具呢,当然它不仅仅是玩具,必要时也可能帮你解决实际问题。

        综合来看,nc在许多方面的功能都有比较好用的独立软件,这也侧面反应了nc在这些功能上都有许多做的不够好的地方(没有足够多针对性的优化和扩展功能)。但它胜在麻雀虽小但五脏俱全,这一点十分讨人喜欢,在许多没有特点工作环境的场合会是非常有吸引力的选择。

        虽然还没有深度使用这个工具,不过有预感结合自编脚本来用的话,应该会表现的更加出彩一些。


        就像语言影响人的思维面一样,工具的掌握让人更加清晰的认识到何事可为何事不可为,从而进一步影响决策和行为。


        为了进化而努力。

第133章 PCL OrientedBoundingBox 有向包围盒 中文叫有向包围盒,是一种旋转过的包围盒。特点:不像AABB那样固定朝向坐标轴能更紧密地包裹物体适用于复杂姿态的物体,比如倾斜、旋转的物体通常通过PCA、惯性矩等算法确定方向。 阅读详情

相关推荐

防止通达信公式被盗?手把手教你用DLL加密+互联网验证(含易语言后台管理)

本文详细介绍了如何通过DLL加密与互联网验证技术保护通达信公式安全。从DLL加密实现、设备绑定到易语言后台管理,提供了一套完整的防护方案,有效防止公式被盗用。重点讲解了互联网验证登录和绑定设备等核心技术,帮助量化交易者守护核心资产。

weixin_29323551的博客 501

nc命令

什么是nc nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具 nc的作用 (1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口 (2)端口的扫描,nc可以作为client发起TCP或UDP连接 (3)机器之间传输文件 (4)机器之间网络测速 想要连接到某处: nc [-options] hostname port[s] [ports] … 绑定端口等待连接: nc -l -p port [-option

qq_42946963的博客 7780

【博客汇总】UV打印机博客汇总

UV平板机博客汇总

Print World的专栏 1744

腾讯云阿里云vps nc: getnameinfo: Temporary failure in name resolution

解决办法: nc -lvvnp 4445 #不懂是啥原因,nc 的解释 为 "Suppress name/port resolutions", 猜测为抑制域名解析。 加上 -n

qq_43615820的博客 2350

of_graph_get_remote_port

isp { compatible = "isp"; core@0 { id = <0>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; ...

wmzjzwlzs的专栏 1166

BAT031:按列表名单将路径a下的文件夹批量剪切到路径b

摘要:按列表名单将路径a下的文件夹批量剪切到路径b。

qq_31762031的博客 1220

linux之nc命令(netcat)详解

nc(netcat)是一个功能强大的网络工具,可以进行端口扫描、传输文件、监听端口等多种网络操作。它的命令参数可以帮助用户执行各种任务。

sozee910的博客 2570

基于Simulink的无线充电系统LCC补偿网络建模与控制

本文详细介绍了基于Simulink的无线充电系统LCC补偿网络建模与控制方法。首先分析了无线充电系统面临的核心挑战,提出LCC补偿网络解决方案,阐述了其恒流输出和输入阻抗解耦原理。通过Simulink分步演示了系统建模过程,包括松耦合变压器、LCC+LC补偿网络、功率变换级搭建以及频率跟踪控制实现。仿真结果表明,LCC补偿系统在气隙变化和负载跳变下能保持输出电压稳定(波动±3%),效率达89%。文章还总结了工程实现要点,并探讨了动态充电、多负载系统等扩展应用。该教程为开发高效智能的无线充电系统提供了实用指导

amy_mhd的博客 63

Netcat实战:5分钟搞定内网穿透与端口转发(附避坑指南)

本文提供了一份Netcat实战指南,教你如何在5分钟内利用nc工具快速搭建临时内网穿透与端口转发通道。文章详细解析了反向隧道、命名管道等核心方法,并附上关键的避坑指南与安全建议,是开发者和运维人员应急场景下的高效解决方案。

n8m7b6v5c4的博客 791

模组 RG500Q入网问题分析

- [ ] 不同于公网,在5G专网环境中, 通常使用很多非标准的网络配置,如PLMN/APN等。因此,5G模组在专网环境下通常要做一些专门的配置才能正常入网,本文分析一例在专网环境, 5G终端无法入网问题的定位过程。 - [ ] 具体涉及到以下模组操作: 恢复出厂、SA only、锁BAND、配置MBN等

十年通信老兵的技术修炼之路——从3G到5G,从地面基站到卫星通信。 935

用 Custom Entity 打造 RAP Value Help:从能跑到好用的深度踩坑笔记

本文介绍了在RAP项目中实现Value Help(Fiori输入帮助)的完整流程。通过Custom Entity方式,开发者可以灵活构建不依赖数据库实体的值帮助功能,但需手动实现CDS原本提供的过滤、排序、分页等能力。文章以一个典型场景为例,详细说明了如何为Partner维护界面的City字段创建可搜索的值帮助,包括创建查询实现类、绑定CDS Custom Entity、服务发布等关键步骤,并特别指出了处理排序分页请求等常见问题。最后强调在ABAP Cloud环境下需要自行实现查询能力,而非依赖传统工具类。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 140

nc

nc 用于设置路由器。执行本指令可设置路由器的相关参数。 nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...] -g<网关> 设置路由...

diexian5592的博客 384

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Netcat 介绍及使用

Netcat 介绍 Netcat(简称nc)是一款强大的命令行网络工具,用来在两台机器之间建立TCP/UDP连接,并通过标准的输入输出进行数据的读写 Netcat 安装 大部分的Linux发行版会都会自带Netcat,可以使用nc命令查看系统中是否有安装Netcat $ nc usage: nc [-46AacCDdEFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval] [-p source_port] [--apple-recv-anyif] [--.

黄晓宇的博客 2万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Netcat命令安装及使用方法

Netcat命令 windows安装netcat windows安装nc命令 1.下载netcat。下载地址: https://eternallybored.org/misc/netcat/ 2、解压 3、将nc.exe 复制到C:\Windows\System32的文件夹下 4、打开cmd。输入nc 命令OK~ 发送消息:nc -l -p port 与linux稍微不同,可以使用nc --help $ nc -l -p 6789 a a e e f f Linux版本下载地址:https://nmap.o

weixin_46610885的博客 6773

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Netcat介绍及安装使用

Netcat是一款简单的Unix工具,使用UDP和TCP协议。它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。使用它你可以轻易的建立任何连接。内建有很多实用的工具。

json_li的博客 5576

netcat 的使用教程

软件准备: windows:访问https://eternallybored.org/misc/netcat/

weixin_46041960的博客 3892

Linux 中 Netcat 工具的使用

Netcat(nc)是 Linux 类系统上非常实用的网络工具,它能在网络中读写数据,如果配合使用其他工具和重定向,可以实现不少强大的功能。

谈谈1974 3930

kali如何安装netcat_Netcat使用-01

喜欢玩Unix/Linux同学一定对netcat这个工具不陌生,简单讲netcat就是一套操作TCP/UDP的命令行工具集,号称TCP/IP领域的瑞士军刀(官方自称)。下面我们来讲一下如何使用这个feature繁多体积却很小的工具。netcat目前分为两个版本:netcat-traditional 和 netcat-openbsd。netcat-tranditional是GNU工程版本,基本上每个...

weixin_33073525的博客 3092

netcat的使用

在网络中有瑞士军刀美誉的netcat,在我们用了N年后依然爱不释手,这是一个非常简单易用的基于TCP/IP协议的瑞士军刀。这里下载的时候会报出包含病毒,关闭杀毒软件忽略即可nc -h两台服务器可以互相访问,一台笔记本仅可以与右边的服务器进行相互访问,此时该笔记本想要与上面的服务器互相访问就需要借助右边的服务器进行连接转发。

m0_60027772的博客 790

netcat如何使用

2、在192.168.10.240 上开放一个TCP端口6666。1、查看主机是否安装了此工具。

weixin_40191861的博客 486

Netcat安装与使用(nc)

Netcat 是一款简单的Unix工具,使用UDP和TCP协议,被称为网络工具中的"瑞士军*刀"。它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。使用它你可以轻易的建立任何连接。

剁椒鱼头没剁椒的博客 1万+

netcat测试UDP端口

这个命令会将 file 的内容输出到本地的 1234 端口中,然后不论谁连接此端口,file 的内容将会发送到连接过来的 IP。如上所示,如果返回结果中,端口号后面的括号中返回的是?号,则说明相应的UDP端口访问失败;如果返回的是具体的协议类型,则说明相应的UDP端口访问正常。这条命令将连接发送端的电脑,接受 file 内容保存。netcat.需要手动下载安装包。Windows版nc不要使用。

教Linux的李老师 2163

netcat的简单使用

nc64.exe -lp 5566意为服务端开启指定端口(该端口也可以改为其他端口)的监听,nc64.exe 127.0.0.1表示监听本地5566端口,两者进行数据传输。输入命令后如果没有显示异常就可以进行简单的聊天了,如图:服务端可以向客户端发送信息,客户端也可以向服务端发送信息。nc64.exe 127.0.0.1 5566可以监听本地5566端口,并且能控制服务端,可以运行ipconfig等命令,从而查询服务端的相关信息,但输入命令后是服务端在运行。如图,左为服务端,右为客户端。

m0_65853019的博客 982

Windows下安装使用netcat

Windows下安装使用netcat

junR_980218的博客 7606

netcat

Netcat 号称 TCP/IP 的瑞士军刀并非浪得虚名,以体积小(可执行 200KB)功能灵活而著称,在各大发行版中都默认安装,你可以用它来做很多网络相关的工作,熟练使用它可以不依靠其他工具做一些很有用的事情。 最初作者是叫做“霍比特人”的网友 Hobbit hobbit@avian.org 于 1995 年在 UNIX 上以源代码的形式发布,Posix 版本的 netcat 主要有 GNU 版本的 netcat 和 OpenBSD 的 netcat 两者都可以在 debian/ubuntu 下面安装,但

weixin_43116379的博客 478

netcat使用

netcat使用 1.netcat 简介 ​ netcat是一个通过TCP/UDP在网络中进行读写数据工具(命令),被称为“瑞士军刀”,主要用于调试领域、传输领域甚至黑客攻击领域。利用该工具,可以将网络中一端的数据完整的发送至另一台主机终端显示或存储,常见的应用为文件传输、与好友即时通信、传输流媒体或者作为用来验证服务器的独立的客户端。当然,也可以在脚本中使用该工具 现在的Linux都默认安装nc,只是版本可能不一致,导致某些参数不能通用,我以下介绍的是kail中的nc 2.功能介绍 侦听模式/传输模式

huangyongkang666的博客 4336
上一篇: 游戏开发笔记(九)——技能系统
下一篇: 游戏开发笔记(十)——移动功能设计
__GUNS_N_ROSES__
博客等级 码龄16年 267粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值