📜  linux 命令打开端口列表 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:02:44.171000             🧑  作者: Mango

Linux命令打开端口列表 - TypeScript

在Linux系统中,有时需要打开一个端口以便让其他计算机连接到该服务器。本文将介绍如何通过命令行打开端口列表,并且使用TypeScript编写。

步骤
  1. 使用以下命令检查当前开放的端口列表:

    $ netstat -tuln
    

    返回如下:

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
    tcp6       0      0 :::22                   :::*                    LISTEN     
    udp        0      0 0.0.0.0:68              0.0.0.0:*                          
    

    这个列表列出了当前所有处于活动状态的网络连接和监听端口。

  2. 打开端口。

    假设要打开端口号8000以便可以接收TCP连接。使用以下命令:

    $ sudo ufw allow 8000/tcp
    

    输入密码并确认操作,然后再次检查端口列表:

    $ netstat -tuln
    

    返回如下:

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
    tcp6       0      0 :::22                   :::*                    LISTEN     
    tcp6       0      0 :::8000                 :::*                    LISTEN     
    udp        0      0 0.0.0.0:68              0.0.0.0:*                          
    

    端口8000现在处于监听状态,可以接收来自其他计算机的TCP连接了。

使用TypeScript编写

你可以使用TypeScript编写脚本来打开端口,以下是一个简单的TypeScript示例:

import { exec } from "child_process";

const openPort = (port: number, protocol: string) => {
  const command = `sudo ufw allow ${port}/${protocol}`;

  exec(command, (error, stdout, stderr) => {
    if (error) {
      console.error(`执行命令时发生错误: ${error.message}`);
      return;
    }
    if (stderr) {
      console.error(`错误消息: ${stderr}`);
      return;
    }
    console.log(`打开端口 ${port}/${protocol} 成功!`);
  });
};

const port = 8000;
const protocol = "tcp";

openPort(port, protocol);

这份代码打开了TCP端口号8000。

现在你可以使用 npm 来安装 child_process 模块并运行该脚本。

$ npm install child_process
$ tsc your-script.ts
$ node your-script.js
打开端口 8000/tcp 成功!

这份代码使用了 child_process 模块执行了一个系统命令,将要打开的端口添加到防火墙规则中。

结论

本文介绍了如何使用Linux命令行打开一个端口,以及如何使用TypeScript编写这样一个脚本。希望对你有所帮助!