详细介绍解决网络端口问题的方法,如何检测网络端口的通断,测试服务器的TCP端口或UDP端口是否联通?

目 录

一、最难解决的网络问题

(一)问题概述

(二)简单网络问题

1、网络硬件问题

2、网络解析和代理问题

3、网络带宽问题

(三)复杂网络问题-网络端口问题

二、网络端口常见的一些问题总结

(一)常见问题归纳

(二)解决思路

三、如何检测网络端口是否正常

(一)测试TCP端口通断的方法

1、使用telnet判断

2、使用ssh判断

3、使用wget判断

4、使用端口扫描工具nmap

[(二) UDP端口的连通性](#(二) UDP端口的连通性)

1、工具介绍

2、UDP端口通断测试


一、最难解决的网络问题

(一)问题概述

现在的软件应用系统非常多,很多软件系统现在基本都支持web,而web是必须有网络的。因此,在软件应用服务器部署好以后,如果Web客户端不能正常工作,我们可以很快解决自己软件的问题,但是碰到网络问题,就有点麻烦了。一般情况下,客户现场网络不是我们熟悉的,我们需要现场的IT工程师配合,而IT工程师对我们的软件又不熟悉。因此,就增加了解决问题的难度。

为了更好的解决问题,我们把网络问题分成如下5类:

  1. 网络硬件问题
  2. 网络解析和代理问题
  3. 网络端口问题
  4. 网络带宽问题
  5. 其他网络问题

同时我们自己要有一定的网络知识和工具,以便我们一步步的来排查,最后解决问题。

(二)简单网络问题

1、网络硬件问题

  • 网络交换机、路由器等硬件设备故障,可能会中断网络连接或导致数据传输中断。
  • 网络连接问题:如果服务器和客户端之间的网络连接不稳定或中断,可能会导致Web客户端无法正常访问服务器。
  • 路由问题:网络中的路由配置错误或不稳定,可能导致数据包在传输过程中发生丢失或延迟,从而影响Web客户端的正常访问。、
  • 网闸问题:网络中有网闸,阻断了数据传输。

这种问题比较好解决,IT工程师会解决。

2、网络解析和代理问题

  • DNS解析问题:如果Web客户端无法正确解析服务器的域名,则无法建立与服务器之间的连接。
  • 代理服务器问题:如果Web客户端需要通过代理服务器访问外部网络,而代理服务器设置不正确或无法正常工作,可能会导致Web客户端无法正常访问服务器。

这种问题比较明显,容易解决。

3、网络带宽问题

  • 网络拥堵问题:如果网络带宽不足或网络流量过高,可能会导致数据传输延迟或丢失,从而影响Web客户端的正常访问。
  • 网络丢包问题:网络不稳定或者受到干扰,可能会导致数据丢失

这种问题,IT工程师会解决,是他们份内的事情。

(三)复杂网络问题-网络端口问题

网络硬件没有问题,连接没有问题(ping的通),一些地址解析和代理也是正确的,剩下的就是网络端口方面的问题了。 网络端口问题一般有以下几种:

  1. 防火墙设置问题:防火墙可能会阻止Web客户端与服务器之间的通信。如果服务器的防火墙未正确配置,比如端口没有开放,可能会拒绝来自Web客户端的请求。
  2. 服务器自身的防火墙设置问题,同上;
  3. 软件应用服务启动了,但是服务的网络端口有冲突,或者服务需要用到多个端口,有部分没有起作用。

之所以说网络端口相关问题是比较复杂,是因为我们很难有一些有效的手段来判断、验证这些问题。当问题出现,最难的往往是我们不知道问题出在哪里?网络是通的,带宽是足够的,但是服务就是不起作用。碰到这种情况,很多新手往往会懵圈。

还有更让人崩溃的,本地可以正常使用,通过远程就不正常了。

网络我们不能随便动,更不能在上面做改动。我们若说是网络问题,那IT工程师会说:网络可以ping通,防火墙也按照你们要求开放了,网络没有问题,肯定是你们软件出了什么问题。碰到这种情况,现场工程师会感觉到怎么这么复杂?

因此,我们可以说在网络软件应用系统部署中,网络端口相关的问题,是最难解决的网络问题。

二、网络端口常见的一些问题总结

(一)常见问题归纳

在应用层面,网络端口常见的一些问题通常有:

  1. 端口被占用:当一个端口被多个应用程序或服务占用时,可能导致网络通信受阻。此时需要找到并关闭占用端口的应用程序或服务。
  2. 端口未打开或被阻止:某些特定的应用程序或服务需要打开特定的端口才能正常工作。如果该端口未打开或被防火墙阻止,可能会导致应用程序或服务无法正常工作。此时需要检查防火墙设置或网络管理员的配置,以确保端口正确打开。
  3. 端口配置错误:在配置网络设备或服务器时,可能会将端口配置错误,导致网络通信中断。需要仔细检查端口的配置参数,确保正确配置。

(二)解决思路

解决这些网络端口问题需要根据具体情况采取相应的措施。

  1. 对于端口被占用的问题,需要找到并关闭占用端口的应用程序或服务;
  2. 对于端口未打开或被阻止的问题,需要检查防火墙设置或网络管理员的配置,以确保端口正确打开;对于有的虚拟机,还需要检测虚拟机的安全规则。
  3. 对于端口配置错误问题,需要仔细检查端口的配置参数,确保正确配置。

但是,如何具体实施,需要我们掌握一定的工具和技巧,下一章节我们详细描述。

三、如何检测网络端口是否正常

(一)测试TCP端口通断的方法

1、使用telnet判断

telnet是windows标准服务,可以直接用,若没有配置,只需要在安装配置中选择telnet客户端即可;如果是linux机器,需要安装telnet.

用法: telnet ip port

(1)先用telnet连接不存在的端口

说明端口8099是不通的。

(2)连接存在的端口

输入命令 telnet 123.23.22.11 22, 出现如下提示:

有ssh相关的信息提示,说明端口22是通的。

2、使用ssh判断

ssh是linux的标准配置并且最常用,也可以用来判断端口。在windows中也可以使用。

用法: ssh -v -p port username@ip

-v 调试模式(会打印日志).

-p 指定端口

username可以随意

或者

用法:ssh 地址 -p port

(1)连接不存在端口

说明端口2608是不通的。

(2)连接存在的端口

说明端口26088是通的。

3、使用wget判断

wget是linux下的下载工具,需要先安装.

用法: wget ip:port

1)连接不存在的端口

说明端口8090是不通的。

2)连接存在的端口

说明端口22是通的。

4、使用端口扫描工具nmap

端口扫描工具是一个强大的工具,若系统没有安装,可以手动安装。

(1)在centos上,采用命令:yum install nmap

(2)在Ubuntu上,采用命令: apt install nmap

下面我们具体做一下测试:

(1)扫描本机的端口

若要扫码本机从1到65000范围内使用的端口,采用命令

nmap -p 1-65000 localhost

结果如下图:

(2)扫描远程的端口

若要扫码远程主机(192.168.1.100)的,从1到65000范围内使用的端口,采用命令

nmap -p 1-65000 192.168.1.100

结果如下图:

(二) UDP端口的连通性

1、工具介绍

因为UDP协议是无连接的,不需要通过握手建立连接,数据发送后,server端也不会返回确认信息。

因此,一般可以使用netcat检测,netcat功能非常强大,测试udp只是其中的一个功能应用。

有的linux机器上没有安装这个软件,需要手动安装。

(1)在centos上,采用命令:yum install netcat

(2)在Ubuntu上,采用命令: apt install netcat

2、UDP端口通断测试

在目标机器监听UDP端口port1, 在客户端机器向目标机器port1端口发送UDP数据报,看能否发送成功。发送成功,则表示可连通。

例如:

(1)A机器上运行:

nc -ul 1080 或:netcat -ul -p 1080

// 使用udp模式监听1080 端口

(2)B机器上运行:

nc -u x.x.x.x 1080 或:netcat -u x.x.x.x 1080

//使用udp模式向该ip的1080端口发送信息。

(3)检测出结果

在任意一边(比如:192.168.1.191)输入内容,另一边(比如:192.168.1.152)则会收到相应内容,以此就可以测试该端口的udp连接是否通常。

192.168.1.191监听1080端口,作为udp的服务端,可以收发数据,如下图:

192.168.1.152作为udp的客户端,可以收发数据,如下图:

相关推荐
Diamond技术流几秒前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
写bug的小屁孩3 分钟前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3
斑布斑布3 分钟前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
紅色彼岸花10 分钟前
第六章:DNS域名解析服务器
运维·服务器
Spring_java_gg14 分钟前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
✿ ༺ ོIT技术༻14 分钟前
Linux:认识文件系统
linux·运维·服务器
恒辉信达15 分钟前
hhdb数据库介绍(8-4)
服务器·数据库·mysql
我言秋日胜春朝★1 小时前
【Linux】冯诺依曼体系、再谈操作系统
linux·运维·服务器
wowocpp1 小时前
ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
服务器·数据库·ubuntu
wclass-zhengge1 小时前
Netty篇(入门编程)
java·linux·服务器