前言
我将分享我在PC领域遇到的一些关键知识点,并将它们系统化整理
osi七层网络参考模型
OSI模型,全称为开放式系统互联参考模型(Open System Interconnection Reference Model),是由国际标准化组织(ISO)在20世纪80年代初提出的一个网络通信模型。这个模型的目的是为了标准化网络通信的过程,使得不同厂商的设备能够互联互通。
OSI模型将网络通信划分为七个层次,每一层都有其特定的功能和协议。这七个层次从底到顶依次是:
- 物理层(Physical Layer):负责在物理媒介上传输原始的比特流,包括定义电气、机械、过程和功能标准,如电压、物理数据速率、最大传输距离等。
- 数据链路层(Data Link Layer):确保物理层传输的数据无误,进行帧同步、差错控制和流量控制,将网络层的逻辑传输单元封装成帧。
- 网络层(Network Layer):负责数据包从源到宿的传输和路由选择,处理数据包在整个网络中的移动。
- 传输层(Transport Layer):提供端到端的数据传输服务,确保数据的完整性和可靠性,常见的协议有TCP和UDP。
- 会话层(Session Layer):管理和控制两个通信系统之间的会话连接,负责建立、维护和终止会话。
- 表示层(Presentation Layer):处理数据的表示、编码和转换,确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。
- 应用层(Application Layer):为应用软件提供网络服务,如文件传输、电子邮件和远程登录等。
每一层都向其上层提供服务,并且依赖于其下层所提供的服务。OSI模型的成功之处在于它清晰地区分了服务、接口和协议这三个容易混淆的概念,使得功能定义与实现细节区分开来,具有很高的概括性和适应能力
端口
端口(Port)在计算机网络中是一个重要的概念,用于区分不同的服务或进程。每个运行在计算机上的进程都可以通过一个端口来与其他计算机上的进程进行通信。端口号是一个16位的数字,其取值范围从0到65535。
端口可以分为以下几类:
- 知名端口(Well-Known Ports):
- 范围:0-1023
- 这些端口号被分配给常用的或者标准的服务和应用程序。例如,HTTP服务通常使用端口80,HTTPS使用443,FTP使用21。
- 注册端口(Registered Ports):
- 范围:1024-49151
- 这些端口号用于用户或公司的应用程序。它们不像知名端口那样固定,但通常被注册以避免冲突。
- 动态或私有端口(Dynamic or Private Ports):
- 范围:49152-65535
- 这些端口号通常不固定分配给任何服务,可以由任何用户用于任何目的。它们经常用于临时的通信会话。
端口在网络通信中的作用包括:
- 区分服务:不同的网络服务监听不同的端口,例如,Web服务器通常监听80端口,而邮件服务器可能监听25端口(SMTP)。
- 端到端通信:在客户端和服务器之间的通信中,端口用于标识特定的进程或服务,确保数据能够正确地送达目的地。
- 安全性:通过开放或关闭特定的端口,可以增加或减少网络的攻击面。例如,关闭不必要的服务端口可以提高系统的安全性。
- 端口转发和映射:在家庭或企业网络中,端口转发可以将外部请求从一个端口转发到内部网络的另一个端口,使得内部服务能够被外部访问。
常用端口号
- HTTP (Hypertext Transfer Protocol):80端口,用于普通的Web页面传输。
- HTTPS (HTTP Secure):443端口,用于加密的Web页面传输。
- FTP (File Transfer Protocol):21端口,用于文件传输。
- SSH (Secure Shell):22端口,用于安全远程登录和文件传输。
- Telnet:23端口,用于远程登录,但由于不安全,已逐渐被SSH取代。
- SMTP (Simple Mail Transfer Protocol):25端口,用于发送电子邮件。
- DNS (Domain Name System):53端口,用于域名解析。
- DHCP (Dynamic Host Configuration Protocol):67和68端口,用于自动分配IP地址。
- POP3 (Post Office Protocol 3):110端口,用于接收电子邮件。
- IMAP (Internet Message Access Protocol):143端口,用于访问和管理电子邮件。
- SNMP (Simple Network Management Protocol):161和162端口,用于网络管理。
- LDAP (Lightweight Directory Access Protocol):389端口,用于访问和维护分布式目录信息服务。
- HTTPS over SSL/TLS:443端口,用于加密的Web页面传输。
- RDP (Remote Desktop Protocol):3389端口,用于远程桌面连接。
- SIP (Session Initiation Protocol):5060和5061端口,用于语音和视频通信。
- MySQL:3306端口,用于MySQL数据库服务。
- PostgreSQL:5432端口,用于PostgreSQL数据库服务。
- Microsoft SQL Server:1433端口,用于SQL Server数据库服务。
- Oracle SQL*Net:1521端口,用于Oracle数据库服务。
- NFS (Network File System):2049端口,用于文件共享。
tcp/udp
二者都工作在传输层 在程序之间传输数据
TCP(传输控制协议)
是互联网上最常用的协议之一,广泛应用于TCP/IP网络中。TCP协议通过建立连接并在两台设备之间传输数据流,确保数据包的可靠传输和顺序接收。与UDP相比,TCP的最大特点是它能够保证通信的可靠性,确保数据不会丢失或乱序。
UDP(用户数据报协议)
与TCP一样,通常与IP协议一起使用,用于在计算机之间传输数据报。与TCP不同,UDP是无连接的,无法保证数据的可靠性。在数据传输过程中,如果出现错误或丢包,接收方应用程序需要自行处理。由于UDP的传输速度更快,且适用于对实时性要求较高的应用,比如音视频流或在线游戏等,因此在这些场景中常常优先选择UDP协议,即便它可能会丢失一些数据包。
如图所示(笑)
TCP连接的建立过程(三次握手):
SYN(同步序列编号):
- 客户端发送一个带有SYN标志的TCP段到服务器,请求建立连接,并指定客户端的初始序列号。
SYN-ACK(同步-确认):
- 服务器收到SYN请求后,如果同意建立连接,则发送一个SYN-ACK段作为响应,包含服务器的初始序列号和对客户端SYN的确认。
ACK(确认):
- 客户端收到服务器的SYN-ACK响应后,发送一个带有ACK标志的TCP段作为最后的确认,确认收到了服务器的SYN-ACK。
完成这三次握手后,TCP连接就成功建立了,数据可以开始在两端之间传输。这个过程确保了双方都准备好进行数据传输,并且能够跟踪和确认数据包的发送和接收。
TCP连接的终止(四次挥手):
FIN(结束):
- 当一方完成数据发送后,发送一个FIN段来关闭连接。
ACK(确认):
- 接收方确认FIN,并发送一个ACK段。
FIN(结束):
- 接收方在发送完所有剩余数据后,也发送一个FIN段。
ACK(确认):
- 最初发送FIN的一方确认接收方的FIN,并发送最后一个ACK段。
完成这四次挥手后,TCP连接被关闭。这个过程确保了双方都有机会发送完所有剩余的数据,并确认连接即将关闭。
HTPP协议简介
超文本传输协议
应用层
TCP/IP
发布和接受HTML
工作流程
TCP三次握手
tcp建立连接成功后,向服务器发送http请求
服务器收到http请求后,向客户机发送http响应
客户端通过TCP四次挥手,与服务器断开TCP连接
B/S&C/S
C/S Client/Server 客户机和服务器结构
B/S Browser/Server 浏览器和服务器结构
ze入侵
漏洞复现
whoami //查看正在使用的用户,拿到主机名 |
主机名+用户名
net user //主机存在不同用户 |
weblogic服务网站
远程桌面端口:3389
拿到远程权限
net user xz/add //创建新用户 |
net localgroup adminstrators 查看管理员组 |
成功进入桌面
痕迹清除
删除登录日志,关闭杀软
kali
基础配置
改中文
打开终端
sudo dpkg-reconfigure locales选择 zh_CN.UTF-8 回车 reboot