网络工具NetCat简介
网络工具NetCat简介
NetCat(简称nc)是一个网络工具,用于在计算机网络之间传输数据。它能够创建TCP/UDP连接、监听端口,并支持文件传输等功能。下面是一些常用的Netcat命令和用法。
安装Netcat
在大多数 Linux 发行版中,你可以使用包管理器来安装 Netcat。例如,在 Ubuntu 上,可以使用以下命令:
# 安装Netcat
sudo apt-get update
sudo apt-get install netcat-openbsd # 或者旧版 netcat-traditional
要查看安装的Netcat版本和路径,可以使用以下命令:
# 查看版本和路径
readlink -f $(which nc)
测试连接
TCP连接
# 测试TCP连接
nc -vz 127.0.0.1 5244
UDP连接
# 测试UDP连接
nc -vz -u 127.0.0.1 5244
超时设置
# 设置超时为3秒
nc -vz -w3 127.0.0.1 8000
范围扫描
# 扫描端口范围
nc -vz -w3 127.0.0.1 8000-8100
运行服务
单次服务
# 启动TCP服务
nc -v -l 8080
# 启动UDP服务
nc -uv -l 8080
持续服务
# 启动持续TCP服务
nc -kv -l 8080
文件传输
从服务端接收文件
# 从服务端接收文件
nc -v -l 8080 > img.jpg
发送文件至服务端(Mac)
# 在Mac上发送文件
nc -v 127.0.0.1 8080 < a.jpg
发送文件至服务端(Linux)
# 在Linux上发送文件
nc -v -N 127.0.0.1 8080 < a.jpg # -N 传输完成后自动结束服务
测试吞吐量
服务端
# 服务端测试吞吐量
nc -v -l 8080 > /dev/null
搭配pv统计
# 使用pv统计吞吐量
# nc -v -l 8080 | pv
客户端(Mac)
# 在Mac上测试吞吐量
dd if=/dev/zero bs=1M count=100 | nc -n 127.0.0.1 8080
客户端(Linux)
# 在Linux上测试吞吐量
dd if=/dev/zero bs=1M count=100 | nc -n -N 127.0.0.1 8080
远程连接
建立服务管道
# 建立服务管道
mkfifo /tmp/f
cat /tmp/f | /bin/bash 2>&1 | nc -v -l 8080 > /tmp/f
连接远程服务
# 连接远程服务
nc -v 127.0.0.1 8080
删除fifo文件
# 完成后删除fifo文件
rm /tmp/f
以上是一些基本的Netcat使用示例,你可以根据实际需求进行相应的调整和拓展。
References:
Read other posts