Network
- IP地址分类 IP地址分为公有IP地址和私有IP地址。公有IP地址是在互联网上唯一标识一台主机的地址,而私有IP地址是在本地网络内部使用的地址,不会在互联网上公开路由。
- 私有IP地址范围 根据RFC 1918规定,以下三个IP地址范围被定义为私有IP地址:
- 10.0.0.0 到 10.255.255.255(10.0.0.0/8)
- 172.16.0.0 到 172.31.255.255(172.16.0.0/12)
- 192.168.0.0 到 192.168.255.255(192.168.0.0/16)
- IP地址结构 IP地址由32位二进制数组成,通常分为四个八位组(即四个字节),每个八位组用一个十进制数表示,范围是0到255。
TCP协议(传输控制协议)¶
TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它在互联网中被广泛使用,以确保数据可以从一个网络设备准确无误地传输到另一个网络设备。 主要特点: - 面向连接:在数据传输之前,需要先建立一个TCP连接。 - 可靠性:通过确认(ACK)和重传机制,确保数据的可靠传输。 - 有序性:确保数据按照发送的顺序到达接收方。 - 流量控制:通过滑动窗口算法,控制数据的发送速度,避免网络拥塞。 - 拥塞控制:检测网络拥塞情况,并相应地调整数据传输速率。
HTTP协议(超文本传输协议)¶
HTTP(HyperText Transfer Protocol)是一种应用层协议,主要用于在Web浏览器和服务器之间传输超文本数据。 主要特点: - 简单性:协议相对简单,易于理解和使用。 - 无状态性:每次请求之间相互独立,服务器不会保存之前的请求状态。 - 可扩展性:通过头部字段,可以很容易地扩展新的功能。 - 基于请求-响应模式:客户端发送请求,服务器响应请求。 版本: - HTTP/1.0:第一个广泛使用的版本,但每个连接只能处理一个请求。 - HTTP/1.1:对1.0进行了改进,支持持久连接,可以在一个连接中处理多个请求。 - HTTP/2:引入了头部压缩、多路复用等技术,提高了性能。 - HTTP/3:基于QUIC协议,进一步提高了速度和安全性。 总结来说,TCP是一种底层的传输层协议,用于确保数据的可靠传输;而HTTP是一种应用层协议,用于定义如何在Web服务器和客户端之间交换数据。HTTP通常运行在TCP之上,利用TCP的可靠性来保证数据的正确传输。
传输层和应用层是网络模型中的两个重要层次,各自包含了一些关键的协议。以下是这两个层次中常见的一些协议:
传输层协议¶
传输层位于网络模型中的第四层,主要负责在网络中的两个终端之间提供端到端的通信服务。除了TCP(传输控制协议)之外,传输层还包括以下协议: - UDP(用户数据报协议):提供无连接的数据传输服务,不保证数据包的可靠传输,但传输速度较快,适用于实时应用,如视频会议和在线游戏。 - DCCP(数据报拥塞控制协议):为数据报流量提供拥塞控制,介于TCP和UDP之间,适用于实时通信。 - SCTP(流控制传输协议):提供可靠的数据传输,类似于TCP,但支持多宿(Multi-homing)和多流(Multi-streaming)。
应用层协议¶
应用层位于网络模型的最顶层,为应用软件提供网络服务。它定义了应用程序如何通过网络进行通信。除了HTTP(超文本传输协议)之外,应用层还包括以下协议: - HTTPS(HTTP Secure):HTTP的安全版本,通过SSL/TLS加密HTTP通信,用于安全的Web浏览。 - FTP(文件传输协议):用于在网络上进行文件传输。 - SMTP(简单邮件传输协议):用于电子邮件的发送。 - IMAP(互联网消息存取协议)/POP3(邮局协议版本3):用于电子邮件的接收和管理。 - DNS(域名系统):将人类可读的域名转换为机器可读的IP地址。 - SSH(安全外壳协议):用于安全地访问远程计算机。 - Telnet:用于远程登录到网络设备。 - NTP(网络时间协议):用于网络时间同步。 - XMPP(可扩展消息处理现场协议):用于即时消息传递,如Jabber。 - RPC(远程过程调用协议):允许程序在不同的计算机上执行代码。 这些协议只是应用层和传输层协议中的一部分,实际上还有更多的协议用于各种不同的网络应用和服务。
网络模型通常指的是OSI模型(开放式系统互联通信参考模型)或TCP/IP模型(传输控制协议/互联网协议模型)。以下是这两个模型的层次结构:
OSI模型(7层)¶
- 物理层(Physical Layer):
- 负责传输原始比特流,通过物理媒介(如电缆、光纤)进行数据传输。
- 数据链路层(Data Link Layer):
- 负责在相邻节点之间的可靠传输,处理错误检测和修正。
- 网络层(Network Layer):
- 负责数据包从源到目的地的传输和路由选择,例如IP协议。
- 传输层(Transport Layer):
- 确保数据的正确传输,包括分段、流量控制、错误控制和数据重传,如TCP和UDP。
- 会话层(Session Layer):
- 负责建立、管理和终止会话,会话可以是点到点的连接或多个参与者的会话。
- 表示层(Presentation Layer):
- 负责数据的转换、加密和压缩,确保数据在网络中传输前后的表示是一致的。
- 应用层(Application Layer):
- 为应用程序提供网络服务,如HTTP、FTP、SMTP等。
TCP/IP模型(4层)¶
- 链路层(Link Layer):
- 相当于OSI模型中的物理层和数据链路层,负责在物理媒介上发送和接收数据。
- 互联网层(Internet Layer):
- 相当于OSI模型中的网络层,负责数据包的路由和寻址,主要协议是IP。
- 传输层(Transport Layer):
- 与OSI模型的传输层相同,包括TCP和UDP等协议。
- 应用层(Application Layer):
- 相当于OSI模型的会话层、表示层和应用层,为应用程序提供网络服务。 TCP/IP模型是一个更实用的模型,它简化了OSI模型的层次结构,将链路层合并了物理层和数据链路层的功能,并将OSI模型的会话层、表示层和应用层合并为应用层。实际上,TCP/IP模型是互联网的基础。
要检查Windows系统上的2222端口是否可以从局域网中的其他机器访问,你可以采取以下步骤:
步骤 1: 确认服务正在运行¶
首先,确保你的机器上有一个服务正在监听2222端口。你可以使用以下命令来检查:
netstat -an | findstr 0.0.0.0:2222
Get-NetTCPConnection -LocalPort 2222
步骤 2: 检查防火墙设置¶
确保Windows防火墙允许通过2222端口的连接。你可以通过以下步骤检查和修改防火墙设置: 1. 打开控制面板。 2. 点击“系统和安全”,然后点击“Windows Defender 防火墙”。 3. 在左侧菜单中选择“高级设置”。 4. 在“入站规则”中查找与2222端口相关的规则,如果没有,你可能需要添加一个新的规则来允许该端口的连接。
步骤 3: 从其他局域网机器测试连接¶
在确保服务正在运行并且防火墙设置正确后,你可以从局域网中的另一台机器尝试连接到这台机器的2222端口。以下是一些方法:
使用 telnet
¶
在另一台机器上,你可以使用以下命令尝试连接到你的Windows机器的2222端口:
telnet <你的Windows机器的局域网IP> 2222
使用 nc
(Netcat)¶
如果你有Netcat安装在其他机器上,可以使用以下命令:
nc -zv <你的Windows机器的局域网IP> 2222
注意事项¶
- 确保你知道Windows机器在局域网中的IP地址。
- 如果其他机器上的防火墙也配置了出站规则,确保它允许连接到2222端口。
- 如果你在测试连接时遇到问题,可能需要检查网络交换机或路由器的设置,以确保它们没有阻止端口2222的通信。 完成这些步骤后,你应该能够确定是否可以从局域网中的其他机器访问Windows机器上的2222端口。
从你提供的命令输出中,我们可以看到以下信息:
1. netsh interface portproxy show v4tov4
命令显示了一个端口代理设置,其中:
- IPv4地址 0.0.0.0
在端口 2222
上侦听。
- 来自端口 2222
的连接会被转发到 IPv4地址 172.28.209.100
的端口 22
。
2. netstat -an | findstr 0.0.0.0:2222
命令确认了确实有一个服务在 0.0.0.0:2222
上监听。这意味着任何发往该机器IP地址的2222端口的连接都会被接受。
由于你已经设置了端口转发,任何到本机2222端口的连接都会被转发到 172.28.209.100
的22端口。以下是一些需要注意的点:
- 0.0.0.0
表示这个服务监听在所有可用的网络接口上,所以从局域网的其他机器应该能够访问这个端口。
- 确保你的Windows防火墙允许传入连接到2222端口。
- 确保局域网中的其他机器能够解析或直接使用你的Windows机器的IP地址来尝试连接。
如果你想在局域网中的其他机器上测试连接,可以使用以下命令:
对于 telnet
(如果其他机器上安装了telnet客户端):
telnet <你的Windows机器的局域网IP> 2222
nc
(Netcat):
nc -zv <你的Windows机器的局域网IP> 2222
要删除使用 netsh
命令配置的端口转发规则,你可以使用 netsh interface portproxy delete v4tov4
命令。以下是删除特定端口转发规则的步骤:
首先,确定你想要删除的规则。从你提供的信息中,你想要删除的是监听端口为 3366 的规则。
运行以下命令来删除该规则:
netsh interface portproxy delete v4tov4 listenport=3366 listenaddress=0.0.0.0
0.0.0.0
且监听端口为 3366
的端口转发规则。
如果你想删除所有端口转发规则,你可以使用以下命令:
netsh interface portproxy reset
创建日期: 2025-05-12
作者: