再谈端口号

端口号范围划分

认识知名端口号

两个问题

netstat

pidof


再谈端口号

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

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

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

五元组标识一个通信

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

比如

协议号 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文件,该文件是记录网络服务名和它们对应使用的端口号及协议。

两个问题

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

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

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

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

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

netstat

语法:

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

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

常用选项:

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

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

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

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

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:显示磁盘分区的情况。

 显示所有设备负载情况

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

 说明:

  • %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死循环进程,然后通过这个命令去查看。

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

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

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

总结:

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

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

【网络篇】第十六篇——再谈端口号相关推荐

  1. 喜迎四十万访问量,自荐十六篇好博文

    喜迎四十万访问量,自荐十六篇好博文 作者:赖勇浩(http://blog.csdn.net/lanphaday) 2008年12月8日本博的访问量一举突破 40 万大关,猛回头,发现已经在 CSDN ...

  2. CCIE-LAB-第十六篇-NAT+OSPF下发默认路由+校验配置(模块一结束篇章)

    CCIE-LAB-第十六篇-NAT+OSPF下发默认路由+校验配置(模块一结束篇章) 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 问题 翻译: 根据这些要求1为FA ...

  3. 计算机网络教程网线制作,图吧小白教程 篇二十六:手把手教你自制网线(夹网线水晶头)...

    图吧小白教程 篇二十六:手把手教你自制网线(夹网线水晶头) 2019-11-19 23:07:38 31点赞 309收藏 27评论 创作立场声明:咕咕咕 教程最后还是出了,不过咱现在用啥还是直接网购号 ...

  4. 生日祝福小程序_广告配音剪映零基础入门教程第二十六篇:如何给朋友制作生日祝福视频...

    经常听到小伙伴问到生日祝福视频怎么做,当然我想既然要为他人做生日祝福视频,那么这个人必定是自己身边比较重要的人,而生日又是每个人都是非常重要的,在这种充满意义的时刻,我们想给自己极其重要的人送上一份祝 ...

  5. 黑猫互联云计算机,黑猫评测 篇二十六:解决联想轻薄本痛点,3TB性价比NAS方案,联想个人云存储A1评测...

    黑猫评测 篇二十六:解决联想轻薄本痛点,3TB性价比NAS方案,联想个人云存储A1评测 2020-09-16 13:34:46 5点赞 10收藏 4评论 联想小新Pro 13的痛点,终于找到了完美的解 ...

  6. 秒杀多线程第十六篇 多线程十大经典案例之一 双线程读写队列数据

    本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5136035 转载请标明出处,原文地址:http://blog.csdn.net/mo ...

  7. CCNA-第十六篇-综合实验

    CCNA-第十六篇-综合实验 环境以及拓扑图如下 TAG:个人说明,做到最后我才发现hostname打错了,IDC-1打成ISP-1了,不过也没关系,知道就行了,全部的IDC都打成ISP了 还有一个的 ...

  8. java监听数据库操作_第十六篇——JDBC操作数据库之监听器

    JavaWeb应用中,很多的地方都和session有关.因此session相关的事件监听器,在日常工作中非常有用. 有时候我们需要统计当前在线的人数和访问人数总数,此时就可以使用监听器技术来很简单的实 ...

  9. Python之路【第十六篇】:Django【基础篇】

    https://www.cnblogs.com/wupeiqi/articles/5237704.html Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django ...

最新文章

  1. 搜狗输入法漏洞获取系统权限0day再述
  2. 缓存穿透、缓存击穿、缓存雪崩及其解决方案
  3. 重新认识HBase,Cassandra列存储——本质是还是行存储,只是可以动态改变列(每行对应的数据字段)数量而已,当心不是parquet...
  4. 十个行为把你变成糟糕的程序员
  5. CentOS6安装MySQL 1 - 更新yum源失败
  6. 从平台到中台 | Elaticsearch 在蚂蚁金服的实践经验
  7. Gentoo 安装日记 07 (stage3:复制解压stage包,并切换根目录)
  8. Linux操作系统-命令-free
  9. 前端学习(2000)vue之电商管理系统电商系统之绘制基本面板的结构
  10. input子系统基础之按键3——input子系统架构总览
  11. 善解人意,改善您的在线关系
  12. 现有系统如何集成Consul服务发现
  13. 关于sharepoint2013的SPUtility.GetGenericSetupPath()方法过期解决办法
  14. 月薪一万的北漂可以过上什么样的生活?
  15. 安装包制作工具 SetupFactory使用 详解
  16. 如何正确、高效地进行论文阅读和批判性思考
  17. 基于MK802的应用开发和相关的工具
  18. php 2个数组并集,php中数组的并集、交集和差集函数介绍_PHP教程
  19. VMware中的虚拟机开启VT,支持KVM
  20. Elasticsearch:运用 Go 语言实现 Elasticsearch 搜索

热门文章

  1. 线性代数——柯西不等式
  2. HTTP协议 - 初次见面 ,慢慢来(一)
  3. HDFS读写数据流程
  4. uniapp系列-uni.getAppBaseInfo() versionCode appVersion 值不对应该怎么解决?
  5. Ubuntu 16.04 + Kinect for Xbox one(v2)驱动安装
  6. java集合大全,看这篇足够理解了
  7. c语言iconv转码错误,调用iconv转换编码坑
  8. python可视化拖拽平台_python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例...
  9. oracle WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK问题分析
  10. 企业处理不好这3种快递问题,营收肯定提不上来