Linux下端口如何分配

Linux下端口如何分配,第1张

我们知道建立一个socket连接进行网络通讯时需要四个元素client_ip:client_port<----->server_ip:server_port,socket绑定一个端口号用于标识进程。我一直好奇在linux平台上运行时进程的端口如何分配的?如何才能避免端口占用冲突?

要想了解这些答案需要先了解Linux下端口范围多少?如何修改端口范围?一个进程的端口如何分配的?最后了解linux系统下端口如何分配的?

1)查看端口范围:sysctl -a | grep range

2)修改端口范围:sysctlconf

vi /etc/sysctlconf

netipv4ip_local_port_range=32788 60000

配置立即生效:sysctl -p

另外,端口范围不要超过1024  65535,1024以下系统使用,65535以上设置会提示失败。

程序的端口分配分为固定分配和自动分配两种。一套系统中固定端口是要进行规划的,比如ftp的端口为10021(控制连接时服务端的),控制连接时客户端的端口就可以随机分配。ftp数据连接如果在被动模式下服务端和客户端的端口都可以随机分配,如果在主动模式下,服务端的端口可以固定分配,客户端的端口随机分配。

固定分配,一般在服务端的进程启动时分配端口,用于创建socket进行监听客户端,如ftp配置文件中的listen_port=10021,>

IIS FTP里的PASV模式下默认端口范围 1024 - 65535,连接时会从中随机选择到响应。如果该值未指定,或被设置成空字符串,则将使用 Winsock 指定的默认值 1025-5000。如果指定了该属性,则 FTP 将验证的有效范围从 5001 到 65535。要限制这片超大端口的范围,可以用IIS管理实用程序Adsutilvbs。

C:/Inetpub/AdminScripts/cscript adsutilvbs set /MSFTPSVC/PassivePortRange "5001-65535"

映射例子: 路由器局域网接口 IP 地址: 19216801 广域网接口 IP 地址: 211xxx 对外映射端口: 800 内网映射主机 IP 地址: 1921680100 对内映射端口: 80 (提供Web网站服务) 内网测试主机 IP 地址: 19216802 外网测试主机 IP 地址: 220xxx 对映射主机的要求:映射主机的IP地址需和路由局域网IP在同一网段,子网掩码需和路由局域网接口一致,网关应指向路由局域网IP,简而言之,该映射主机能通过路由上网。协议类型是否正确(如>

1  tcpmux  TCP 端口服务多路复用

2  rje  远程作业入口

3  echo  Echo 服务

4  discard  用于连接测试的空服务

5  systat  用于列举连接了的端口的系统状态

6  daytime  给请求主机发送日期和时间

7  qotd  给连接了的主机发送每日格言

8  msp  消息发送协议

9 chargen  字符生成服务;发送无止境的字符流

10  ftp-data  FTP 数据端口

11  ftp  文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用

12  ssh  安全 Shell(SSH)服务

13  telnet  Telnet 服务

14  smtp  简单邮件传输协议(SMTP)

15  time  时间协议

16  rlp  资源定位协议

17  nameserver  互联网名称服务

18  nicname  WHOIS 目录服务

19  tacacs  用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统

20  re-mail-ck  远程邮件检查协议

21  domain  域名服务(如 BIND)

22  whois++  WHOIS++,被扩展了的 WHOIS 服务

23  bootps  引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用

24  bootpc  Bootstrap(BOOTP)客户;还被动态主机配置协议(DHCP)客户使用

25  tftp  小文件传输协议(TFTP)

26  gopher  Gopher 互联网文档搜寻和检索  

当在Tableau中连接MySQL数据库时出现“无法连接服务器,检查服务器是否正在运行以及您是否有权访问”等错误提示时,可能是以下原因之一:

1MySQL服务器没有运行:请确认MySQL数据库服务器是否已经启动。可以检查MySQL的状态或者重启MySQL服务,看是否能够正常连接。

2MySQL数据库没有正确配置端口:请确保已经正确设置MySQL数据库的端口号,并在Tableau中正确输入该端口号。默认情况下,MySQL使用3306端口。

3防火墙阻止了连接:如果您的计算机中安装了防火墙,可能会阻止Tableau与MySQL数据库的连接。请检查您的防火墙设置,确保Tableau可以访问MySQL端口。

4数据库权限问题:请确保您在连接MySQL数据库时使用的用户名和密码具有足够的权限来访问该数据库。可以在MySQL服务器上检查用户的权限设置,或者使用管理员账号登录MySql进行授权 *** 作。

5MySQL驱动程序问题:如果您安装的MySQL驱动程序版本较老,可能会导致连接失败。建议升级到最新版本的MySQL驱动程序,并重新尝试连接。

6检查MySQL服务器是否正在运行。您可以打开命令行终端并输入“netstat -an”来检查服务器是否在运行。

7确认您的MySQL用户名和密码是否正确。这些都是在MySQL服务器上配置的,因此请确保您在Tableau中使用的用户名和密码与服务器上的相同。

8确认MySQL服务器是否开放了需要的端口。默认情况下,MySQL服务器端口是3306,如果您的MySQL服务器使用了不同的端口,则需要更新Tableau中的端口配置。您可以在Tableau“连接到数据”窗口中的MySQL连接设置中更改端口。

9确认您的计算机是否允许访问MySQL服务器。在某些情况下,您的计算机本身的安全设置可能会阻止访问MySQL服务器。您可以检查防火墙设置,以确保Tableau具有访问MySQL服务器的权限。

总的来说,当在Tableau中连接MySQL数据库时出现连接失败的错误提示,需要仔细检查以上几个问题,找出原因并解决,才可以成功连接到MySQL数据库。

1、首先需要调出dos界面,在电脑的搜索框中输入cmd,回车。(当然,也可以用快捷方式windows键+r键直接调出运行框后输入cmd,回车)。

2、然后在dos界面输入mysql -u root -p这样一句命令行,出现配图中的版本号等内容就代表已经连接mysql服务了。

3、这时候再输入一句show global variables like ‘port‘;就可以查看到端口号了,友情提醒,注意命令行有没有分号。

4、知道端口号之后要是还需要继续输入其他的内容,可以ctrl+c退出当前状态。

5、然后就可以继续在dos界面敲命令行了,这样是比较方便的。

6、当然,也可以直接关掉重新进入dos界面哈。两句命令行就能知道端口号。

以上就是关于Linux下端口如何分配全部的内容,包括:Linux下端口如何分配、什么是端口、使用FTP服务器的PASV模式 端口设置为60000-60020,为什么抓包抓到的信息显示服务器给分配的端口为5012等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9389197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存