原文链接: https://frida.re/docs/javascript-api/#socket
欢迎加入 Frida 交流群: 1049977261
Socket
-
Socket.listen([options])
:
开放一个 TCP 或 UNIX 监听的套接字.
返回一个接收 SocketListener 的 Promise.默认同时监听 IPv4 和 IPv6 (如果支持的话), 并且绑定到一个随机选择的 TCP 端口的所有接口上.
可选的
options
参数是一个可能包含以下键的对象:-
family
: 字符串类型的地址家族, 仅限于:- unix
- ipv4
- ipv6
默认同时监听 IPv4 和 IPv6 (如果支持的话).
-
host
: (IP 家族) IP 地址字符串. 默认是全部接口. -
port
: (IP 家族) IP 端口号. 默认任意一个可用的端口号. -
type
: (UNIX 家族) 字符串类型的 UNIX 套接字种类. 仅限于:- anonymous
- path
- abstract
- abstract-padded
默认是path
.
-
path
: (UNIX 家族) UNIX 套接字路径字符串. -
backlog
: Listen backlog as a number. Defaults to10
.
-
-
Socket.connect(options)
:
连接到一个 TCP 或 UNIX 服务器.
返回一个接收 SocketConnection 的 Promise 对象.options
参数是一个可能包含以下键的对象:-
family
: 字符串类型的地址家族. 仅限于:- unix
- ipv4
- ipv6
默认是根据host
相关的 IP 家族.
-
host
: (IP 家族) IP 地址字符串. 默认是localhost
. -
port
: (IP 家族) IP 端口号. -
type
: (UNIX 家族) 字符串类型的 UNIX 套接字种类. 仅限于:- anonymous
- path
- abstract
- abstract-padded
默认是path
.
-
path
: (UNIX 家族) UNIX 套接字路径字符串.
-
Socket.type(handle)
: 检查操作系统的套接字handle
并返回它的类型字符串, 仅限于tcp
,udp
,tcp6
,udp6
,unix:stream
,unix:dgram
, 如果无效或者未知, 则是null
.-
Socket.localAddress(handle)
,
Socket.peerAddress(handle)
:
检查操作系统的套接字handle
并返回它的本地或对等地址, 如果无效或者未知, 则是null
.返回的对象包含以下字段:
-
ip
: (IP 套接字) IP 地址字符串. -
port
: (IP 套接字) IP 端口号. -
path
: (UNIX 套接字) UNIX 路径字符串.
-
SocketListener
所有的方法都是完全异步的, 并且返回 Promise 对象.
path
: (UNIX 家族) 正在监听的路径.port
: (IP 家族) 正在监听的 IP 端口.close()
:
关闭当前监听器, 释放相关资源.
一旦这个监听器被关闭, 所有其他的操作都将失败.
您可以多次关闭同一个监听器, 并且不会造成任何异常.accept()
:
等待下一个客户端连接.
返回一个接受 SocketConnection 的 Promise.
SocketConnection
继承自 `IOStream`.
所有的方法都是完全异步的, 并且返回 Promise 对象.
-
setNoDelay(noDelay)
:
如果noDelay
被设置为true
则禁用 Nagle 算法, 否则启用该算法.
Nagle 算法默认是启用的, 因此如果您希望针对低延时而不是高吞吐量进行优化的话, 就很有必要调用这个方法.