什么是Netcat?


Netcat是一个利用TCP/IP协议在网络连接之间读写数据的网络实用程序。Netcat被构建为一个安全的后台工具,可用于直接与其他程序和脚本一起将文件从客户端发送到服务器,反之亦然。

同时,它也是一个功能丰富的网络调试和探索平台,可以定义网络参数,同时创建到远程主机的隧道连接。

虽然Netcat可以做很多事情,但其主要目标和最理想的功能如下:

  • 建立从服务器到客户端的连接,创建初始套接字。

  • 如果连接成功,Netcat将自动创建第二个套接字,用于在服务器和客户端之间传输文件。

让我们以两个计算机终端为例,第一个终端充当服务器,第二个终端充当客户端。

使用Netcat,可以将电脑转换为服务器。如果我们想启动一个在2399端口监听的服务器,则:

$ nc -l 2399

我们也可以使用服务器从客户端连接到最近打开的端口(2399):

$ nc localhost 2399

连接建立后,我们现在可以从客户端向服务器写入数据:

$ nc localhost 2399 Hai Server

GNU Netcat应该可以编译并在无需修改的情况下运行的一些主机如下:

  • Linux (测试主机 - alphaev67-unknown-linux-gnu)

  • FreeBSD (测试主机 - i386-unknown-freebsd4.9)

  • NetBSD (测试主机 - i386-unknown-netbsdelf1.6.1)

  • SunOS/Solaris (测试主机 - sparc-sun-solaris2.9)

  • MacOS X (测试主机 - powerpc-apple-darwin6.8)

其余操作系统可以通过少量修改源代码来支持。

功能

Netcat的功能如下:

  • 能够使用任何本地源端口

  • 端口扫描功能

  • 具有慢速发送模式

  • 任何端口的出站或入站以及TCP或UDP连接

  • 完整的DNS正向和反向检查

  • 松散源路由

更新于:2022年3月21日

5000+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告