【网络篇】第十六篇——再谈端口号

简介: 【网络篇】第十六篇——再谈端口号

再谈端口号


端口号(Port)标识了一个主机上进行通信的不同的应用程序;

从网络中获取的数据在进行向上交付时,在传输层就会提取出该数据对应的目的端口号,进而确定该数据应该交付给当前主机上的哪一个服务进程。

image.png

因此端口号是属于传输层的概念的,在传输层协议的报头当中就会包含与端口相关的字段。

五元组标识一个通信

在TCP/IP协议中,用源IP地址+源端口号+目的IP地址+目的端口号+协议号(组成的套接字),这样一个五元组来标识一个通信(通过netstat -n 查看)

比如

image.png

协议号 VS 端口号

  • 协议号是存在于IP报头当中的,其长度是8位。协议号指明了数据报所携带的数据是使用的何种协议,以便让目的主机的IP层知道应该将该数据交付给传输层的哪个协议进行处理。
  • 端口号是存在于UDP和TCP报头当中的,其长度是16位。端口号的作用是唯一标识一台主机上的某个进程
  • 协议号是作用于传输层和网络层之间的,而端口号是作用于应用层于传输层之间的。

端口号范围划分


端口号的长度是16位,因此端口号的范围是0 ~ 65535:

  • 0 ~ 1023:知名端口号。比如HTTP,FTP,SSH等这些广为使用的应用层协议,它们的端口号都是固定的。
  • 1024 ~ 65535:操作系统动态分配的端口号。客户端程序的端口号就是由操作系统从这个范围分配的。

认识知名端口号


常见的知名端口号

有些服务器是非常常用的,为了使用方便,人们约定了一些常用的服务器,都是用以下这些固定的端口号:

  • ssh服务器,使用22端口
  • ftp服务器,使用21端口
  • telnet服务器,使用23端口
  • http服务器,使用80端口。
  • https服务器,使用443端口

查看知名端口号

我们可以查看/etc/services文件,该文件是记录网络服务名和它们对应使用的端口号及协议。

a07848943a084442ab94c2b399d26db1.png

两个问题


一个端口号是否可以被多个进程绑定?

一个端口号绝对不能被多个进程绑定,因为端口号的作用就是唯一标识一个进程,如果绑定一个已经被绑定的端口号,就会出现绑定失败的问题。

一个进程是否可以绑定多个端口号?

一个进程是可以绑定多个端口号的,这与“端口号必须唯一标识一个进程”是不冲突的,只不过现在这多个端口唯一标识的是同一个进程罢了。

我们限制的是从端口号到进程的唯一性,而没有要求从进程到端口号也必须满足唯一性,因此一个进程是可以绑定多个端口号的。

netstat


语法:

netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

功能:用来产看网络状态的重要工具

常用选项:

  • n 拒绝显示别名,能显示数字的全部转化成数字
  • l 仅列出有在 Listen ( 监听 ) 的服務状态
  • p 显示建立相关链接的程序名
  • t (tcp) 仅显示 tcp 相关选项
  • u (udp) 仅显示 udp 相关选项
  • a (all) 显示所有选项,默认不显示 LISTEN 相关

查看TCP相关网络信息时候,一般选择使用nltp组合:

image.png

查看udp相关网络信息时,一半选择使用nlup组合

image.png

列出所有连接,用 -a 选项即可

image.png

iostat命令

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析

安装

yum install sysstat -y

常用选项:

  • m:以M为单位显示
  • k:以KB为单位显示。
  • n:显示NFS使用情况。
  • N:显示磁盘列阵(LVM)信息。
  • d:显示磁盘的使用情况。
  • c:显示CPU的使用情况。
  • t:报告每秒向终端读取和写入的字符数和CPU的信息。
  • V:显示版本信息。
  • x:显示详细信息
  • p:显示磁盘分区的情况。

显示所有设备负载情况

image.png

查看设备使用率(%util)、响应时间(await)

image.png

说明:

  • %user:CPU处在用户模式下的时间百分比。
  • %nice:CPU处在带NICE值的用户模式下的时间百分比。‘
  • %system:CPU处在系统模式下的时间百分比。
  • %iowait:CPU等待输入输出完成时间的百分比。
  • %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
  • %idle:CPU空闲时间百分比。

如果%iowait的值过高,表示硬盘存在I/O瓶颈。如果%idle值高,表示CPU较空闲。如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。如果%idle值持续低于cpu核数,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。

pidof


pidof命令可以通过进程名,查看进程id

pidof[选项] 程序名称

该命令接受零个或多个名称作为参数,但是通常,只将一个名称传递给pidof.

编写一个while死循环进程,然后通过这个命令去查看。

image.png

注意:为确保仅显示要搜索的程序PID,请使用该程序的完整路径名作为参数.

pidof命令结合kill命令可以快速杀死一个进程。

image.png

再次查看发现,进程终止。

总结:

pidof命令用于查找特定正在运行的程序的PID。

pidof是一个简单的命令,没有太多选项。 通常,您只会使用要搜索的程序的名称来调用pidof。

相关文章
|
3月前
|
Python
Python网络编程基础(Socket编程)绑定地址和端口
【4月更文挑战第9天】在UDP服务器编程中,我们首先需要创建一个UDP套接字,然后绑定一个本地地址和端口,以便客户端可以通过这个地址和端口与我们的服务器进行通信。下面,我们将详细讲解如何绑定地址和端口。
|
2月前
|
安全 网络协议 网络安全
端口转发:解锁网络访问的新维度
端口转发技术,简化网络数据流,用于家庭至企业服务器场景。它隐藏内部网络服务,提供远程访问、个人网站公开、NAT穿透及安全的VPN连接。设置涉及路由器管理界面,添加转发规则,但需注意安全风险,仅开放必要端口并加强内部安全措施。了解和善用端口转发,提升网络服务可达性与安全性。
144 5
|
3天前
|
网络协议 Windows
在电脑上测试TCP/UDP端口是否开放,还是得网络大佬这招厉害!
在电脑上测试TCP/UDP端口是否开放,还是得网络大佬这招厉害!
|
1月前
|
Linux
linux网络统计信息和端口占用情况基本语法
linux网络统计信息和端口占用情况基本语法
|
1月前
|
安全 网络协议 关系型数据库
|
1月前
|
网络协议 Linux 数据库
计算机网络知识之URL、IP、子网掩码、端口号
计算机网络知识之URL、IP、子网掩码、端口号
|
2月前
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
|
3月前
|
网络协议 网络安全 数据库
【专栏】网络端口的奥秘,包括基本概念、技术原理和实际应用
【4月更文挑战第28天】本文深入探讨了网络端口的奥秘,包括基本概念、技术原理和实际应用。网络端口是区分网络服务的抽象概念,与TCP/IP协议密切相关。端口号范围从0到65535,知名端口常分配给标准服务,如HTTP和FTP。TCP提供可靠的数据传输,而UDP则更高效。端口还涉及端口扫描、转发和映射等高级技术。在实际应用中,端口广泛用于Web服务器、数据库通信及网络安全。随着云计算和虚拟化的兴起,端口管理变得更为复杂,对IT专业人员的技能要求提高。理解并掌握网络端口对于提升个人技能和保障网络安全至关重要。
121 1
|
3月前
|
运维 安全 网络协议
即时通讯安全篇(十四):网络端口的安全防护技术实践
网络端口因其数量庞大、端口开放和关闭的影响评估难度大,业务影响程度高、以及异常识别技术复杂度高等特点给网络端口安全防护带来了一定的挑战,如何对端口风险进行有效治理几乎是每个企业安全团队在攻击面管理工作中持续探索的重点项。
170 0
|
3月前
|
监控 安全 测试技术
【亮剑】在网络技术日益发展的今天,端口映射已成为家庭和企业网络环境中不可或缺的一项技术。
【4月更文挑战第30天】本文介绍了端口映射(Port Forwarding)的概念,它是NAT技术的一种,用于让外部设备访问内部网络服务。端口映射广泛应用于远程桌面、网络游戏、视频监控和个人服务器托管等场景。操作步骤包括登录路由器管理界面、设置映射规则、保存并启用规则,以及测试映射效果。虽然端口映射能扩大网络应用,但也可能带来安全风险,因此需谨慎管理和设置安全措施。
72 0