Linux每日一篇 - 54 - nc
Linux网络连接神器!掌握nc命令,建立网络连接,进行端口扫描!
nc命令是什么?
nc是”Netcat”的缩写,被称为”网络界的瑞士军刀”,是一个功能强大的网络工具,可以读写网络连接,支持TCP和UDP协议,常用于端口扫描、文件传输、端口监听等。
基本用法
# 连接到指定主机和端口
nc example.com 80
# 监听指定端口
nc -l 8080
# 使用UDP协议
nc -u example.com 53
# 设置超时时间
nc -G 5 example.com 80
# 端口扫描
nc -z example.com 1-100
# 显示详细过程
nc -v example.com 80
实用技巧
# 创建后门(仅用于测试环境)
nc -l -p 1234 -e /bin/bash
# 文件传输
# 发送端:cat file.txt | nc -l 8080
# 接收端:nc example.com 8080 > file.txt
# 端口转发
nc -l 8080 | nc example.com 80
# HTTP请求
echo -e "GET / HTTP/1.1\nHost: example.com\n\n" | nc example.com 80
# 检查端口是否开放
nc -zv example.com 22
# 扫描多个端口
nc -zv example.com 22 80 443
# 使用IPv6
nc -6 example.com 80
常用场景
# 检查服务是否运行
nc -zv example.com 80
# 扫描常用端口
nc -zv example.com 20-30 80 443
# 测试SMTP服务
nc example.com 25
# 测试DNS查询
nc -u example.com 53
# 简单的HTTP服务器
while true; do nc -l -p 8080 -c 'echo -e "HTTP/1.1 200 OK\n\nHello World"'; done
# 端口转发
nc -l 8080 -c 'nc example.com 80'