百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

我敢说,这是网工必须要会的网络端口知识

ccwgpt 2024-12-20 11:31 131 浏览 0 评论

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部


下午好,我的网工朋友。

网络端口是计算机网络中一个非常重要的概念,它用于标识特定的应用程序或服务。

作为网工,端口也是平时工作中经常接触的部分,了解网络端口的基本知识对于确保网络的正常运行和安全性十分重要。

今天就来讲讲那些网工必知的端口知识,从网络端口的基础知识、常见服务及其端口号、端口扫描与安全、端口转发与NAT到实际应用案例,统统理清。


今日文章阅读福利:《全网最全-网络端口号汇总(27页)》


私信发送暗号“端口”,即可限时获取资料哈。

如果想从0到1系统学习,也欢迎私信我,告知学习意向,我会为你推荐最适合你的方式。


01 网络端口基础

网络端口是用于标识特定应用程序或服务的逻辑地址,通常与IP地址一起使用。每个端口都有一个唯一的编号,范围从0到65535。

端口用于区分同一台主机上的不同服务,确保数据包能够正确地发送到指定的应用程序。

例如,当用户访问一个网站时,浏览器会通过HTTP协议连接到服务器的80端口;当用户通过SSH进行远程登录时,客户端会连接到服务器的22端口。


01 类型:

  • 熟知端口(0-1023):这些端口由IANA(互联网号码分配机构)分配,用于常见的服务。例如,HTTP使用80端口,HTTPS使用443端口。
  • 注册端口(1024-49151):这些端口可以由用户或组织注册,用于特定的服务。这些端口通常用于非标准服务或自定义应用。
  • 动态/私有端口(49152-65535):这些端口主要用于临时连接,通常由操作系统动态分配。例如,客户端在发起连接时可能会使用这些端口。


02 常见网络服务及其端口号


01 Web服务

HTTP (80):超文本传输协议,用于未加密的Web浏览。

HTTPS (443):安全的超文本传输协议,使用SSL/TLS加密,提供更安全的Web浏览。


02 邮件服务

SMTP (25):简单邮件传输协议,用于发送电子邮件。

POP3 (110):邮局协议版本3,用于从邮件服务器接收电子邮件。

IMAP (143):互联网消息访问协议,用于从邮件服务器接收电子邮件,并支持离线和在线模式。


03 文件传输

FTP (21):文件传输协议,用于上传和下载文件。

SFTP (22):通过SSH进行安全文件传输,基于SSH协议。

SCP (22):安全复制协议,用于在主机之间安全地复制文件,基于SSH协议。


04 远程管理

SSH (22):安全Shell协议,用于远程登录和管理。

Telnet (23):不安全的远程登录协议,通常建议使用SSH替代。

RDP (3389):远程桌面协议,用于Windows远程桌面连接。


05 数据库服务

MySQL (3306):MySQL数据库服务,默认端口。

PostgreSQL (5432):PostgreSQL数据库服务,默认端口。

MongoDB (27017):MongoDB数据库服务,默认端口。

Oracle (1521):Oracle数据库服务,默认端口。


06 其他常用服务

DNS (53):域名系统,用于解析域名。

NTP (123):网络时间协议,用于同步时间。

SNMP (161/162):简单网络管理协议,用于网络设备监控。

DHCP (67/68):动态主机配置协议,用于自动分配IP地址。

TFTP (69):简单文件传输协议,用于无盘工作站启动等场景。

VNC (5900):虚拟网络计算,用于远程桌面控制。


07 示例:

HTTP (80):Web浏览器访问网站时使用的端口。例如,当你在浏览器中输入http://example.com时,浏览器会连接到该网站的80端口。

HTTPS (443):安全的Web浏览,使用SSL/TLS加密。例如,当你访问https://example.com时,浏览器会连接到该网站的443端口。

FTP (21):文件传输协议,用于上传和下载文件。例如,使用FTP客户端连接到服务器时,会连接到21端口。

SSH (22):安全Shell协议,用于远程登录和管理。例如,使用SSH客户端连接到远程服务器时,会连接到22端口。


03 端口扫描与安全

端口扫描是一种网络探测技术,通过发送探测数据包来检测目标主机上开放的端口。

攻击者可以利用端口扫描来发现目标系统上的漏洞和服务,从而进行进一步的攻击。常见的端口扫描方法包括全连接扫描、半连接扫描(SYN扫描)、UDP扫描等。


01 工具:

nmap:

nmap是一款功能强大的端口扫描和网络探测工具,支持多种扫描技术,如TCP SYN扫描、UDP扫描、操作系统检测等。nmap可以生成详细的报告,帮助用户了解目标系统的开放端口和服务。

示例:

使用nmap进行基本的端口扫描。

nmap 192.168.1.1

高级用法:

使用nmap进行特定端口范围的扫描,并输出详细信息。

nmap -p 1-1024 -sV 192.168.1.1

netcat (nc):

netcat是一个多功能的网络工具,可以用于端口扫描、数据传输、端口监听等多种用途。netcat简单易用,适合快速测试和调试。

示例:

使用netcat进行端口扫描。

nc -zv 192.168.1.1 1-1024


02 安全措施:

防火墙:

配置防火墙规则,限制不必要的端口访问。例如,在Linux系统中,可以使用iptables命令来配置防火墙规则。

示例:

允许SSH访问(22端口),拒绝其他所有入站流量。

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP

入侵检测系统 (IDS):

监控网络流量,检测异常行为。IDS可以实时分析网络流量,识别潜在的攻击并发出警报。

示例:

使用Snort作为入侵检测系统。

snort -c /etc/snort/snort.conf -i eth0

定期审计:

定期检查开放端口和服务,关闭不必要的端口。可以使用脚本或工具自动化这一过程。

示例:

编写一个简单的Bash脚本来检查开放的端口。

#!/bin/bash
for port in {1..1024}; do
    if netstat -tuln | grep -q ":$port "; then
        echo "Port $port is open"
    fi
done


04 端口转发与NAT

端口转发是一种网络技术,用于将一个端口上的请求转发到另一个端口或另一台主机。这种技术常用于家庭和企业网络中,使得外部用户能够访问内部网络中的服务。

端口转发通常在路由器上配置,通过将外部IP地址和端口映射到内部IP地址和端口来实现。

NAT是一种将内部网络的私有IP地址转换为公共IP地址的技术,从而允许内部网络设备通过单个公共IP地址访问互联网。NAT可以分为几种类型:

  • 静态NAT:将内部私有IP地址一对一地映射到外部公共IP地址。
  • 动态NAT:从内部私有IP地址池中动态分配外部公共IP地址。
  • PAT (端口地址转换):也称为NAT重载,允许多个内部私有IP地址共享一个外部公共IP地址,通过端口号进行区分。


01 应用场景:

家庭网络:

在家庭网络中,通常只有一个公共IP地址。通过端口转发,可以将外部对特定端口的请求转发到内部网络中的特定设备。例如,将外部对80端口的请求转发到运行Web服务器的内部计算机。

示例:

  • 在家庭路由器上配置端口转发,将外部对80端口的请求转发到内部IP地址192.168.1.100的80端口。
  • 登录路由器管理界面。
  • 进入“端口转发”或“虚拟服务器”设置。
  • 添加新的端口转发规则:
  • 外部端口:80
  • 内部IP地址:192.168.1.100
  • 内部端口:80
  • 协议:TCP
  • 保存设置并重启路由器(如果需要)。

企业网络:

在企业网络中,NAT被广泛用于多个内部设备共享一个或几个公共IP地址。通过NAT,企业可以节省公共IP地址资源,并提高网络安全性。

示例:

  • 在企业网络中配置NAT,使得所有内部设备的流量通过一个公共IP地址访问互联网。
  • 在企业路由器或防火墙上启用NAT功能。
  • 配置内部网络的私有IP地址范围。
  • 配置外部公共IP地址。
  • 设置NAT规则,将内部私有IP地址转换为外部公共IP地址。
  • 保存设置并测试连接。


原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

相关推荐

ForkJoinPool的了解与使用(fork-join)

ForkJoinPool是一个强大的Java类,用于处理计算密集型任务。使用ForkJoinPool分解计算密集型任务并并行执行它们以获得更好的Java应用程序性能。它的工作原理是将任务分解为更小的子...

Netty 时间轮源码解析(时间轮java实现)

定时任务在中间件和业务系统中有很多应用,比如:注册中心中定期上报状态的心跳机制。RPC框架中定期扫描请求列表移除超时请求。延迟队列提交未来时间的任务。业务系统每日凌晨跑批处理或报表任务。Java原...

Autodesk基于Mesos的通用事件系统架构

【编者按】本文由AutodeskCloud软件架构师OlivierPaugam撰写,解释了如何集合Mesos、Kafka、RabbitMQ、Akka、Splunk、Librato、EC2等基础设施...

全局视角看技术-Java多线程演进史

作者:京东科技文涛全文较长共6468字,语言通俗易懂,是一篇具有大纲性质的关于多线程的梳理,作者从历史演进的角度讲了多线程相关知识体系,让你知其然知其所以然。前言2022年09月22日,JDK19发...

为什么应该使用Dapr来构建事件驱动的微服务?

微服务架构从本质上来说是分布式的。构建微服务总是会遇到极具挑战性的问题,比如说弹性服务调用、分布式事务处理、按需扩容以及严格一次(exactly-once)的消息处理。将微服务放在Kubernet...

WEB前端开发学习流程(web前端开发简明教程)

相对web后端开发来说,web前端开发对大部分初学编程者比较友好,而且入门门槛低,就业范围广。是大部分转行学IT的一个首选方向。web前端开发工程师,主要进行网站浏览器的开发、优化、布局的工作。在了解...

《s24z 编程指南》大纲(AI 提示词)

由于AIGC的迅速发展,本教程《s24z编程指南》,尝试用如下方法:准备《编程指南》的大纲,按章节划分,每小节由相关知识点和文字组成。每次将一小部分文本,以提示词的形式,送入Kimi或Ch...

有哪些常用的Python后端开发框架?

以下为你介绍一些常用的Python后端开发框架,包含各自的特点、适用场景与示例代码:Flask特点:轻量级、灵活,核心代码简洁,几乎不强制开发者使用特定的工具和库,开发者可按需添加扩展。适用场景...

数学分析的结构(数学分析的结构方法)

一、基础结构层实数系统与集合论数学分析的根基建立在实数连续之上,通过集合论(如公理化集合论)定义数学对象的抽象结构。例如,实数集的完备性公理是数学分析区别于其他数学分支的关键特征。此外,点集拓扑学(如...

新手在学习Web前端时需要学习的内容汇总

Web前端开发因为入行门槛低,是很多人转行IT开发行业的首选,但想要成为一名合格的Web前端开发工程师同样要具备过硬的专业技能,而且想要学成后高薪快速的就业,过硬的技术是基本条件。那么,新手小白学习W...

基于 Kotlin KMP 实现 HarmonyOS 与 Android 双平台 SDK 开发实践

背景随着鸿蒙平台的进一步发展,大家的态度也逐渐从观望转向实际投入,越来越多的公司开始考虑将自家应用迁移到鸿蒙平台。但是这一过程并非想象中的那么简单,尤其对于已经存在很多年的大型项目来说,直接投入大量人...

爱奇艺 App 中台技术实践(爱奇艺 app 中台技术实践在哪)

本文来自爱奇艺研究员在ArchSummit全球架构师峰会上的演讲整理,将为大家分享爱奇艺打造移动中台的过程。爱奇艺移动中台的建设过程可分为组件解耦、组件定制化和平台化,未来会利用平台发现、沉淀和复...

软件开发|同样的功能需求,为什么有的软件公司报价高?有的低?

最近有个朋友问我:同样的功能需求,为什么有的公司报价高?有的公司报价低?其实,有很多创业的朋友,在寻找技术开发公司的时候,经常会遇到这个困惑,一样的功能需求,不同的公司有不同的报价,有的差别还很大,那...

零基础要怎么学习Web前端?Web前端学习路径分享

Web前端因为薪资高、入行门槛低,成为很多人转行进入IT行业的首选。对于零基础的人来说,学习之前一定要想清楚为什么而学习Web前端,给自己一个清晰的定位,摆正心态。如果还不清楚学习路线,可以参考千锋武...

MICROCHIP/微芯 KSZ9031RNXIA 以太网芯片

特征o适用于IEEE802.3应用的单片10/100/1000Mbps以太网收发器oGMII/MII标准接口,3.3V/2.5V/1.8V容错I/Oo自动协商以自动选择最高链路连接速度(10/10...

取消回复欢迎 发表评论: