目录
2. 在本地计算机上监听5555端口,并使用-v选项显示详细信息
3. 从某主机的80端口下载文件到本地计算机的example.txt
4. 使用UDP发送数据到192.168.1.1的53端口(DNS服务器)
一、命令概述
Netcat(也称为nc或netcat-openbsd)是一个非常强大和灵活的网络工具,它主要用于创建TCP或UDP网络连接。Netcat可以作为一个简单的终端程序,也可以作为一个强大的网络诊断、监控和攻击工具。
在我们测试工作中可以经常用到这个工具。
二、命令语法
(一)基本用法
基本语法如下:
nc [选项] [目标地址] [端口]
(二)常见选项
以下是一些常见的Netcat命令的选项:
-l 或 --listen:监听模式,Netcat会创建一个服务器socket并等待连接。
-p 或 --port:指定本地监听的端口。
-n 或 --numeric:显示数字地址而不是主机名。
-v 或 --verbose:显示详细的连接信息。
-z 或 --zeal:仅发送SYN包并等待响应,用于扫描端口。
-u 或 --udp:使用UDP而不是TCP。
-w 或 --wait:设置超时时间(秒)。
-c 或 --cc:设置超时时间(毫秒)。
-s 或 --source-port:指定发送数据时的源端口。
-e 或 --exec:在连接建立后执行命令。
-i 或 --interactive:在执行-e选项时,保持交互式界面
(三)获取帮助
在linux的命令行输入
nc --help
出现如下图所示的帮助信息:
三、netcat的安装和卸载
在CentOS系统中,Netcat通常可以通过EPEL(Extra Packages for Enterprise Linux)仓库来安装和卸载。EPEL仓库提供了许多额外的软件包,包括Netcat。以下分别介绍在CentOS上安装和卸载Netcat的方法。
(一)安装
1、安装EPEL
首先,确保EPEL仓库已经添加到系统。可以通过运行以下命令来添加:
sudo yum install epel-release
2、安装Netcat
可以使用yum来安装netcat,如下命令:
sudo yum install nc
或者,如果需要的是Netcat的OpenBSD版本,可以使用:
sudo yum install netcat-openbsd
具体操作如下:
root@ecs-52a1 home]# sudo yum install nc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base | 3.6 kB 00:00:00
epel | 4.3 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/2): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(2/2): epel/x86_64/primary_db | 8.7 MB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package nmap-ncat.x86_64 2:6.40-19.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================================
Installing:
nmap-ncat x86_64 2:6.40-19.el7 base 206 k
Transaction Summary
==============================================================================================================================================================
Install 1 Package
Total download size: 206 k
Installed size: 423 k
Is this ok [y/d/N]: y
Downloading packages:
nmap-ncat-6.40-19.el7.x86_64.rpm | 206 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 2:nmap-ncat-6.40-19.el7.x86_64 1/1
Verifying : 2:nmap-ncat-6.40-19.el7.x86_64 1/1
Installed:
nmap-ncat.x86_64 2:6.40-19.el7
Complete!
[root@ecs-52a1 home]#
3、检查Netcat是否安装成功
安装完成后,可以通过运行以下命令来检查Netcat是否已安装:
nc --version
或者,如果使用的是Netcat的OpenBSD版本:
nc -h
这些命令若显示Netcat的版本信息,证明它已经安装在linux系统上。
实际操作如下:
[root@ecs-52a1 home]# nc --version
Ncat: Version 7.50 ( https://nmap.org/ncat )
[root@ecs-52a1 home]# nc -h
Ncat 7.50 ( https://nmap.org/ncat )
Usage: ncat [options] [hostname] [port]
Options taking a time assume seconds. Append 'ms' for milliseconds,
's' for seconds, 'm' for minutes, or 'h' for hours (e.g. 500ms).
-4 Use IPv4 only
-6 Use IPv6 only
-U, --unixsock Use Unix domain sockets only
-C, --crlf Use CRLF for EOL sequence
-c, --sh-exec <command> Executes the given command via /bin/sh
-e, --exec <command> Executes the given command
--lua-exec <filename> Executes the given Lua script
-g hop1[,hop2,...] Loose source routing hop points (8 max)
-G <n> Loose source routing hop pointer (4, 8, 12, ...)
-m, --max-conns <n> Maximum <n> simultaneous connections
由此可以看出,netcat已经成功安装在本机。
(二)卸载
要卸载Netcat,可以使用以下命令:
sudo yum remove nc
或者,如果安装的是Netcat的OpenBSD版本,使用:
sudo yum remove netcat-openbsd
要注意,卸载Netcat之前,确保没有依赖于Netcat的服务或应用程序。
四、示例
(一)常用实例
1、连接到网络主机的特定端口
例如,连接到example.com的80端口:
nc example.com 80
2、监听端口
在本地计算机上监听一个端口,等待来自远程计算机的连接:
nc -l [端口]
例如,监听本地计算机的8080端口:
nc -l 8080
3、传输文件
使用Netcat复制文件同样很简单。从远程计算机复制文件到本地计算机:
nc [目标地址] [端口] > [本地文件名]
例如,从example.com的80端口下载文件到本地计算机的example.txt:
nc example.com 80 > example.txt
4、从本地计算机复制文件到远程计算机
nc [目标地址] [端口] < [本地文件名]
(二)高级应用实例
1. 创建一个到某主机的443端口的TCP连接
nc ivms.vidisit.cn 443
2. 在本地计算机上监听5555端口,并使用-v选项显示详细信息
nc -l -p 5555 -v
3. 从某主机的80端口下载文件到本地计算机的example.txt
nc example.com 80 > example.txt
4. 使用UDP发送数据到192.168.1.1的53端口(DNS服务器)
nc -u 192.168.1.1 53
五、 特别提醒
Netcat 是一个非常强大的工具,可以用于各种网络活动,包括渗透测试。因此,在使用Netcat时,请确保有足够的权限。
Netcat 是一个简单的工具,但它非常强大,可以用于各种网络任务,从诊断到安全测试。掌握Netcat的使用可以大大提高我们在网络管理和安全领域的效率。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。