Linux里有类似Windows系统里的Tcping端口连接检测工具吗

2021-03-07    分类: 网站建设

1. nc命令简介

NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。

netcat简介

以CentOS7.5最小安装版为例,默认情况下系统并没有集成nc工具集,需要手动安装它:

  1. [root@zcwyou ~]# yum install -y nmap-ncat 

2. 测试192.168.1.1的TCP80端口是否可以正常连接

  1. [root@zcwyou ~]# nc -v -w 1 192.168.1.1 -z 80 
  • Ncat: Version 7.50
  • Ncat: Connected to 192.168.1.1:80.
  • Connected表示连接成功。

linux使用netcat命令检测TCP80端口是否可以正常连接

试试连接81端口

  1. [root@zcwyou ~]# nc -v -w 1 192.168.1.1 -z 81 
  • Ncat: Version 7.50
  • Ncat: Connection refused.
  • Connection refused.连接拒绝,表示对方没有打开81端口或者中间防火墙不允许81端口。

3. 使用nc传输文件

大部分时间中,我们都在试图通过网络或者其他工具传输文件。有很多种方法,比如FTP,SCP,SMB等等,但是当你只是需要临时或者一次传输文件,真的值得浪费时间来安装配置一个软件到你的机器上嘛。假设,你想要传一个文件zcwyou.txt 从A到B。A或者B都可以作为服务器或者客户端,以下,让A作为服务器,B为客户端。

Server端配置

  1. [root@zcwyou ~]# nc -l 1567 
  2. < zcwyou.txt 

Client

  1. [root@zcwyou ~]# nc -n 172.31.100.7 1567 > zcwyou.txt 

原理:Server端把zcwyou.txt输入到nc,由nc发送,Client端通过nc接收消息,把它保存到zcwyou.txt。

4. 克隆硬盘或分区

server2上进行类似的监听动作,即把接收的数据重定向给dd:

  1. [root@zcwyou ~]# nc -l -p 1234 | dd of=/dev/sda 

server1上把dd后的数据重定向给nc,即发送数据

  1. [root@zcwyou ~]# dd if=/dev/sda | nc 192.168.200.27 1234 

注意:克隆硬盘或分区的操作,不应在已经mount的的系统上进行。

5. 指定源端口

假设你的防火墙过滤除25端口外其它所有端口,你需要使用-p选项指定源端口。

服务器端打开监听:

  1. [root@zcwyou ~]# nc -l 1567 

客户端发送数据,目标端口1567,源端口25

  1. [root@zcwyou ~]# nc 172.31.100.7 1567 -p 25 

使用1024以内的端口需要root权限。

该命令将在客户端开启25端口用于通讯,否则将使用随机端口。

6. 指定源地址

使用-s选项指定源ip地址。

服务器端打开监听,把zcwyou.txt重定向给nc。

  1. [root@zcwyou ~]# nc -u -l 1567 
  2. < zcwyou.txt 

客户端

  1. [root@zcwyou ~]# nc -u 192.168.100.1 1567 -s 192.168.88.20 > file.txt 

当服务器有多个IP时,指定使用192.168.88.20作为源IP。

7. 目录传输

发送一个文件很简单,但是如果我们想要发送多个文件,或者整个目录,一样很简单,只需要使用压缩工具tar,压缩后发送压缩包。

如果你想要通过网络传输一个目录从A到B。

Server端,打包abc目录,并重定向到nc

  1. [root@zcwyou ~]# tar -cvf - abc | nc -l 1567 

Client端,通过nc接收数据并由tar解包

  1. [root@zcwyou ~]# nc -n 172.31.100.7 1567 | tar -xvf - 

如果想要节省带宽传输压缩包,我们可以使用bzip2或者其他工具压缩。

Server端通过bzip2压缩目录abc并重定向到nc,监听端口1567

  1. [root@zcwyou ~]# tar -cvf - abc | bzip2 -z | nc -l 1567 

Client端把接收到的数据通过交给bzip2和tar处理

  1. [root@zcwyou ~]# nc -n 172.16.26.88 1567 | bzip2 -d |tar -xvf - 

8. 加密你通过网络发送的数据

如果你担心你在网络上发送数据的安全,你可以在发送你的数据之前用如mcrypt的工具加密。

服务端,使用mcrypt工具加密数据。

  1. [root@zcwyou ~]# nc localhost 1567 | mcrypt –flush –bare -F -q -d -m ecb > zcwyou.txt 

客户端,使用mcrypt工具解密数据。

  1. mcrypt -flush -bare -F -q -m ecb 
  2. < zcwyou.txt | nc -l 1567 

以上两个命令会提示需要密码,确保两端使用相同的密码。

这里我们是使用mcrypt用来加密,使用其它任意加密工具都可以。

9. 传输流视频

虽然不是生成流视频的最好方法,但如果服务器上没有特定的工具,使用netcat,我们仍然有希望做成这件事。

服务端读取一个视频文件重定向输出到netcat客户端

  1. [root@zcwyou ~]# cat video.avi | nc -l 1567 

客户端通过nc读取内容交给mplayer播放器

  1. [root@zcwyou ~]# nc 172.31.100.7 1567 | mplayer -vo x11 -cache 3000 - 

10. 使用UDP协议

默认情况下,nc创建连接时只会连接TCP端口。 不过我们可以使用-u选项来连接到 UDP 端口

  1. [root@zcwyou ~]# ncat -l -u 8888 

udp 8888端口已经打开,然后用netstat验证一下端口是否打开。

  1. [root@zcwyou ~]# netstat -tunlp | grep 1234 

udp 0 0 0.0.0.0:1234 0.0.0.0:* 17341/nc

udp6 0 0 :::1234 :::* 17341/nc

测试某服务器的UDP端口,比如检查本地是否可以使用阿里DNS服务器223.5.5.5

  1. [root@zcwyou ~]# nc -v -u 223.5.5.5 53 

Ncat: Version 7.50

Ncat: Connected to 223.5.5.5:53.

显示Connected即表明成功连接到远程DNS端口,DNS工作正常。

linux使用netcat测试服务器的UDP端口

11. 其它用途

使用-t选项模拟Telnet客户端:

HTTP客户端用于下载文件

连接到邮件服务器,使用SMTP协议检查邮件

使用ffmpeg截取屏幕并通过流式传输分享,等等。其它更多用途。

简单来说,只要你了解协议就可以使用netcat作为网络通讯媒介,实现各种客户端。

当前名称:Linux里有类似Windows系统里的Tcping端口连接检测工具吗
文章起源:https://www.cdcxhl.com/news/104765.html

成都网站建设公司_创新互联,为您提供软件开发服务器托管企业网站制作商城网站网站内链品牌网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发