LOADING...

加载中请稍等...

loading

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'
头像
汪多多是只猫
失业的运维工程师
热爱开源与分享
微信公众号