netcat 网络瑞士军刀

1. 创建服务端和客户端

1.1 创建一个服务器端

nc  -l  -p port
-l: Listen mode, for inbound connects.   #即监听模式,监听入站的链接
-p: 后面接port, 即监听的端口号

1.2 创建一个客户端

nc [remote address] [remote port]   # 连接远端服务器的地址,连接的端口号

1.3 演示

背景解释:

项目机器
客户端本地可联网的主机
服务器端远端的腾讯云的服务器,地址:49.234.196.192 : 10000

服务器端
在这里插入图片描述
客户端
在这里插入图片描述

2. 打开一个shell 或者反向shell

linux 不支持 nc -e 参数,故不能用通常的方法打开shell或者反向shell。

Server 端

$mkfifo /tmp/tmp_fifo
$cat /tmp/tmp_fifo | /bin/sh -i 2>&1 | nc -l 1567 > /tmp/tmp_fifo

这里我们创建了一个fifo文件,然后使用管道命令把这个fifo文件内容定向到shell 2>&1中。是用来重定向标准错误输出和标准输出,然后管道到netcat 运行的端口1567上。至此,我们已经把netcat的输出重定向到fifo文件中。

说明:

  • 从网络收到的输入写到fifo文件中
  • cat 命令读取fifo文件并且其内容发送给sh命令
  • sh命令进程受到输入并把它写回到netcat。
  • netcat 通过网络发送输出到client

至于为什么会成功是因为管道使命令平行执行,fifo文件用来替代正常文件,因为fifo使读取等待而如果是一个普通文件,cat命令会尽快结束并开始读取空文件。

Client端

$nc -n 172.31.100.7 1567

你会得到一个shell提示符在客户端 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值