Windows系统常用端口详解
7,9,13,17,19
这是几个简单的TCP/IP服务,在windows中被
Simple TCP/IP Services
管理。
- 7 : Echo 服务:将接收到的数据原样返回。
- 9 : Discard 服务:会丢弃所有接收到的数据,并且不返回任何数据。
- 13 : Daytime 服务:返回系统的时间。
- 17 : Quote of the Day 服务:每日一句。
- 19 : Character Generator 服务: 会发送一个字符序列,每个字符由一个字节表示。
java测试代码
点击展开/折叠代码块
public class SocketTest { /** * echo服务会将接收到的数据原样返回。 */ @Test @SneakyThrows public void echoTest() { String host = "localhost"; try (var s = new Socket(host, 7)) { // Echo 使用端口 7 s.setSoTimeout(5000); try (OutputStream out = s.getOutputStream(); InputStream in = s.getInputStream()) { String message = "Hello, Echo!"; out.write(message.getBytes(StandardCharsets.UTF_8)); out.flush(); byte[] buffer = new byte[1024]; int bytesRead = in.read(buffer); String response = new String(buffer, 0, bytesRead, StandardCharsets.UTF_8); System.out.println("Received: " + response); } } } /** * Discard 服务会丢弃所有接收到的数据,并且不返回任何数据。为了验证这个服务,可以发送一些数据并观察没有响应。 */ @Test @SneakyThrows public void discardTest() { String host = "localhost"; try (var s = new Socket(host, 9)) { // Discard 使用端口 9 s.setSoTimeout(5000); System.out.println("connect localhost Discard 9 port : " + s.isConnected()); try (OutputStream out = s.getOutputStream()) { out.write("Test data".getBytes(StandardCharsets.UTF_8)); out.flush(); } System.out.println("Data sent, no response expected."); } } /** * 获取daytime协议服务器的时间 */ @Test @SneakyThrows public void socketTest() { // String host = "time-a.nist.gov"; String host = "localhost"; try (var s = new Socket(host, 13)) { s.setSoTimeout(5000); try (var in = new Scanner(s.getInputStream(), StandardCharsets.UTF_8)) { while (in.hasNextLine()) { String line = in.nextLine(); System.out.println(line); } } } } /** * quote of the day,返回一句名言 */ @Test @SneakyThrows public void quoteTest() { String host = "localhost"; try (var s = new Socket(host, 17)) { // Quote of the Day 使用端口 17 s.setSoTimeout(5000); try (var in = new Scanner(s.getInputStream(), StandardCharsets.UTF_8)) { while (in.hasNextLine()) { String line = in.nextLine(); System.out.println(line); } } } } /** * Character Generator 服务会发送一个字符序列,每个字符由一个字节表示。 */ @Test @SneakyThrows public void characterGeneratorTest() { String host = "localhost"; try (var s = new Socket(host, 19)) { // Character Generator 使用端口 19 s.setSoTimeout(5000); try (var in = new Scanner(s.getInputStream(), StandardCharsets.UTF_8)) { for (int i = 0; i < 10 && in.hasNextLine(); i++) { String line = in.nextLine(); System.out.println(line); } } } } }
135
135端口主要用于Microsoft的远程过程调用(RPC)服务。
RPCSS
(Remote Procedure Call Subsystem) 服务是 COM 和 DCOM 服务器的服务控制管理器。它执行 COM 和 DCOM 服务器的对象激活请求、对象导出程序解析和分布式垃圾回收。如果此服务被停用或禁用,则使用 COM 或 DCOM 的程序将无法正常工作。强烈建议你运行 RPCSS 服务。
3389
3389端口是Windows 的远程桌面连接(Remote Desktop Protocol,RDP)使用的默认端口。远程桌面允许你使用远程桌面客户端(适用于Windows、Android、iOs和 macOs)从远程设备连接到这台电脑并加以控制。这样,你就可以通过其他设备工作,如同直接在这台电脑上工作一样。
5357端口
5357端口通常用于Microsoft Windows的WS-Discovery(Web Services Dynamic Discovery)。这是一个用于网络设备自动发现的协议,特别是在局域网内使用。这意味着某些Windows设备可能会在这个端口上进行广播,以便发现和识别同一网络中的其他设备。
要关闭端口5357上的WS-Discovery服务,可以通过禁用相关服务来实现。以下是步骤:
通过服务管理器禁用 WS-Discovery 服务
- 打开服务管理器:
按 Windows
+ R
,输入 services.msc
,然后按回车。
- 找到并禁用服务:
在服务列表中找到名为 Function Discovery Resource Publication
和 SSDP Discovery
的服务。
对每个服务右键单击,选择“属性”。
将“启动类型”设置为“禁用”。
如果服务正在运行,点击“停止”。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战