在前端开发过程中,端口扫描器是不可避免的工具。而 @types/portscanner 正是一款基于 TypeScript 的 npm 包,提供了良好的类型定义和 API 支持,能够帮助我们快速地进行端口扫描。
安装和导入
安装依赖:
npm install portscanner @types/portscanner
导入模块:
import * as ps from 'portscanner';
API 详解
ps.checkPortStatus(port, [host], [options])
检查指定主机和端口是否处于开放状态。
port
:指定的端口号。host
:可选参数,指定主机 IP 或域名,默认值为localhost
。options
:可选参数,用于配置检查选项。常见配置项如下:
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
status |
Array<number> |
[0] |
数组形式的开放状态码 |
timeout |
number |
400 |
毫秒级别的超时时间 |
retry |
number |
0 |
次数,用于重新检查非目标状态 |
返回值:
- 返回该端口状态码(例如 0 表示关闭,1 表示开放),或者正在检查时返回字符串
'checking'
。
ps.findAPortNotInUse(startPort, [endPort], [host], [callback])
在指定主机和端口范围内寻找一个未使用的端口号。
startPort
:指定的起始端口号。endPort
:可选参数,指定的结束端口号,默认值为65535
。host
:可选参数,指定主机 IP 或域名,默认值为localhost
。callback
:可选的回调函数,用于处理查找结果。如果使用回调函数,则返回的结果会通过回调函数进行返回。否则,该函数会返回一个 Promise 对象。
返回值:
- 如果使用回调函数,返回值为
void
。否则,返回一个Promise<number>
对象,包含找到的未使用端口号。
ps.findAPortInUse(startPort, [endPort], [host], [callback])
在指定主机和端口范围内寻找一个正在使用的端口号。
startPort
:指定的起始端口号。endPort
:可选参数,指定的结束端口号,默认值为65535
。host
:可选参数,指定主机 IP 或域名,默认值为localhost
。callback
:可选的回调函数,用于处理查找结果。如果使用回调函数,则返回的结果会通过回调函数进行返回。否则,该函数会返回一个 Promise 对象。
返回值:
- 如果使用回调函数,返回值为
void
。否则,返回一个Promise<number>
对象,包含找到的正在使用的端口号。
ps.findAPortInUse(arrayOfPorts, [host], [callback])
找到数组中第一个正在使用的端口号。
arrayOfPorts
:指定的由端口号构成的数组。host
:指定主机 IP 或域名,默认值为localhost
。callback
:可选的回调函数,用于处理查找结果。如果使用回调函数,则返回的结果会通过回调函数进行返回。否则,该函数会返回一个 Promise 对象。
返回值:
- 如果使用回调函数,返回值为
void
。否则,返回一个Promise<number>
对象,包含找到的正在使用的端口号。
示例代码
检查端口状态
-- -------------------- ---- ------- ------ - -- -- ---- -------------- ----- ---- - --- ------------------------ ------------ ------- ------- -- - -- ------- - --------------------------------------- - ---- - ---------------------------------- --- - - ----- - --------- - ---
寻找未使用的端口号
-- -------------------- ---- ------- ------ - -- -- ---- -------------- ----- --------- - ----- ----- ------- - ------ ----- ---- - ------------ ------------------------------- -------- ----- ------- ----- -- - -- ------- - --------------------------------------- - ---- - ----------------------------------- - ---
寻找正在使用的端口号
-- -------------------- ---- ------- ------ - -- -- ---- -------------- ----- --------- - ----- ----- ------- - ------ ----- ---- - ------------ ---------------------------- -------- ----- ------- ----- -- - -- ------- - --------------------------------------- - ---- - ------------------------------------ - ---
查找数组中的正在使用的端口号
-- -------------------- ---- ------- ------ - -- -- ---- -------------- ----- ----- - ---- --- ---- ------ ----- ---- - ------------ ------------------------ ----- ------- ----- -- - -- ------- - --------------------------------------- - ---- - ------------------------------------ - ---
总结
通过本文的介绍,相信读者已经对 @types/portscanner 这个 npm 包有了一定的了解。在日常的前端开发中,端口扫描器是非常有用的一个工具,它可以帮助我们高效地进行端口扫描,进而加速开发流程。希望本文能对读者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedbc56b5cbfe1ea06119f2