如何使用 Netcat 命令跨网络读写数据

读写是可以应用于每个系统中的数据的基本操作。 TCP 缩写为传输控制协议,是一种面向连接的通信协议,它使网络上的计算机更容易发送和接收消息。 它是使用 Internet 协议 (IP) 的网络中使用最广泛的协议; 当联合使用时,它有时被称为 TCP/IP。 UDP,缩写为用户数据报协议,是一种通信协议,用于在互联网上的应用程序之间构建低延迟和容错的连接。 在本文中,我们将讨论“Netcat”命令,该命令用于在 Ubuntu 20.04(Linux 操作系统)上使用 TCP 和 UDP 协议跨网络读写磁盘。

Netcat 实用程序应用程序包括用于管理网络和监视系统之间的数据级别的若干指令。 TCP 和 UDP 协议是计算机网络(如 Internet)的基础。 它被认为是网络工具的瑞士军刀,是网络和系统管理员武器库中最有效的工具之一。 Netcat 是一个跨平台程序,可在 Linux、Windows、Mac OS X 和 BSD 上运行。 Netcat 可用于调试和分析连接问题以及扫描开放端口、传输数据和充当代理。

使用 Netcat 跨网络读写数据

在 macOS 和常见的 Linux 发行版(如 Ubuntu 和 Debian)上,Netcat 软件包已预先安装。 下面提到了一些“Netcat”实用程序。

  • 通过 Netcat 进行端口扫描
  • 通过 Netcat 发送文件
  • 通过 Netcat 创建 Web 服务器

句法:

$ nc [options] host port

在 Ubuntu 系统上使用“nc”或“netcat”。

默认情况下,Netcat 将建立 TCP 连接以提供主机/主机和端口/端口。 如果要创建 UDP 连接,请使用 -u 选项。

$ nc -u host port

通过 Netcat 进行端口扫描

最流行的 Netcat 应用程序之一是端口扫描。 您可以选择扫描单个端口或一系列端口。

TCP:

扫描开放端口:

要使用 Netcat 扫描 30-60 范围内的开放端口,请运行以下命令:

$ nc -z -v 10.0.2.15 30-60

-z 将指示 NC 仅扫描打开的端口,而不向它们发送任何数据。

-v 告诉关于详细的信息。

使用 grep 命令过滤结果:

$ nc -z -v 10.0.2.15 2>&1 | grep succeeded

在此范围内没有连接成功。

UDP:

只需在脚本中添加 -u 参数即可在以下命令中检查 UDP 端口:

$ nc -z -v -u 10.0.2.15 30-60

文本描述自动生成

此范围内没有 UDP 端口。

通过 Netcat 发送文件

通过建立基本的客户端或服务器模型,Netcat 可用于将数据从一台主机传输到另一台主机。 这是通过使用接收主机上的 -l 选项将 Netcat 设置为侦听某个端口来完成的,然后从多台计算机创建标准 TCP 连接并通过它传输文件。

在接收端运行以下命令,打开 6666 端口用于传入连接并将输出结果转移到文件中:

$ nc -l 6666 > linux1.txt

图形用户界面,网站描述自动生成

Linux1.txt 是要打开写入的文件名,您可以根据需要更改文件名。

现在接收主机将连接到发送主机并发送文件:

$ nc google.com 6666 < linux2.txt

图形用户界面,文本描述自动生成

通过 Netcat 创建 Web 服务器

首先,使用 nano 命令创建一个简单的 HTML “linux, html” 文件:

$ nano linux.html

文本描述自动生成

键入下面提到的内容,或者您​​可以根据您的要求按照 html 文件规则添加内容。

<html>

 <head>

 <title> Linux<title>

 <head>

<html>

图形用户界面,文本描述自动生成

Save 按“Ctrl+S”和 close 文件按“Ctrl+X”。

$ printf 'HTTP/1.1 200 OKnn%s' "$(cat linux.html)" | netcat -l 8888

文本描述自动生成

现在在浏览器中,您可以通过以下链接访问该文件:

https://server-ip:8888

结论:

Netcat 是一个基本的 Linux 实用程序,它使用 TCP/UDP 协议跨网络连接读取和写入数据。 它旨在成为一个可靠的后端工具,可以直接或简单地由其他应用程序和程序操作。 本文提供有关使用 TCP 和 UDP 协议的 Netcat 以及其他一些用途的信息,例如扫描端口、发送文件和创建 Web 服务器。