网络基础
小端: 低字节在起始地址,高字节在高地址
大端: 高字节在起始地址,低字节在高地址
linux一般是小端,unix一般是大端
OSI网络模型
Open Systems Interconnection (OSI) 模型是一个标准化的网络通信模型,分为七层,每一层都有特定的功能。
-
应用层
-
表示层:数据压缩,数据加密,数据描述。
-
会话层:建立、管理和终止会话。
-
传输层
-
网络层
-
链路层
-
物理层
TCP/IP四层模型
TCP/IP模型是一个简化的网络通信模型,分为四层,每一层对应OSI模型的一些功能。
- 应用层
- 传输层
- 网络层
- 网络接口层(也可以拆分成物理层和数据链路层的5层模型)
应用层
0-1024是系统保留端口, 1024-65535是可用自定义端口
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
8443: tcp/udp - https port 9443: tcp/udp tungsten-https 4443: tcp/udp pharos
基于TCP的应用层
FTP: 21,
SSH: 22,
Telnet: 23,
SMTP: 25,
HTTP: 80,
HTTPS: 443,
POP3: 110,
POP3 SSL: 995
IMAP: 143,
IMAP SSL: 993,
NNTP: 119,
NNTP SSL: 563,
基于UDP的应用层
DNS: 53,
DHCP: 67,
TFTP:69,简单文件传输协议。
NTP/SNTP: 123,
SNMP:161,简单网络管理协议。
SNMPtrap: 162,
基于SCTP的应用层
M3UA: 2905
查看端口
cat /etc/services
应用程序架构: C/S架构:客户端和服务器之间通过网络进行通信(细分为client/server和browser/server)。 Peer-to-Peer架构:每个节点都可以充当客户端和服务器。
传输层
TCP:传输控制协议,提供可靠的、面向连接的字节流服务,建立连接需要三次握手.
UDP:数据报协议,提供不可靠的、无连接的面向数据报的服务。
SCTP:流控制传输协议。
网络层
也叫互联网层.
IP:网际协议,提供不可靠、无连接的数据报传送服务。
ICMP:Internet控制报文协议,传递差错报文和需要注意的信息,封装在IP数据报内部。
# 基于ICMP的应用层:
Ping:
Traceroute:
IGMP:Internet组管理协议,用于支持主机和路由器进行多播,让一个物联网络上的所有系统知道主机当前所在的多播组,封装在IP数据报内部。
网络接口层
也叫数据链路层或.
以太网帧结构:以太网首部+IP首部+TCP首部/UDP数据报+应用数据+以太网尾部。
ARP:地址解析协议,为IP地址到硬件地址之间提供动态映射。
RARP:没有磁盘驱动器的系统使用。
动态选路协议:
- RIP:选路信息协议
- OSPF:开放最短路优先
- IGP-EGP-BGP:边界网关协议
- CIDR:无类型域间选路
IP address
A: 0 + 7 * network number + 24 * host number, 0.0.0.0 - 127.255.255.255 B: 10 + 14 * network number + 16 * host number; 128.0.0.0 - 191.255.255.255 C: 110 + 21 * network number + 8 * host number; 192.0.0.0 - 223.255.255.255 D: 1110 + 28 * multicast number; 224.0.0.0 - 239.255.255.255 E: 11110 + 27 * reserved; 240.0.0.0 - 247.255.255.255
File
File协议是本地文件协议
file:///C:/
远程桌面协议
RDP: remote desktop protocol, windows系统之间的远程桌面协议。
RFB(VNC): remote frame buffer, 跨平台的远程桌面协议,cs架构。
VNC: 跨平台的RFB(VNC)工具有realvnc, tightvnc, tigervnc.
remmina:基于gtk,支持RFB(VNC), RDP, SSH/SFTP协议。
krdc:基于kde,支持RFB(VNC), RDP协议。
mRemoteNG: RDP, VNC, SSH, Telnet, Http, Rlogin, RAW, ICA
https://github.com/mRemoteNG/mRemoteNG
FreeDRP: DRP
https://github.com/FreeRDP/FreeRDP
URL
url中的保留自字符需要编码。
The percent-encoded values for the special characters are as follows:
# → %23
? → %3F
& → %26
These encodings are used in URLs to ensure that these characters are treated as literal values rather than special symbols.