new NetworkUtilities()
Classe com métodos diversos para tratamento de endereços de servidores e redes.
Methods
-
<static> addressInNetworkRange(address, network)
-
Determina se o endereço faz parte da rede informada. O endereço da rede deve ser informado utilizando a notação CIDR.
Parameters:
Name Type Description address
string Endereço que deve ser avaliado se está na rede informada.
network
string Endereço da rede
Returns:
True se o endereço faz parte da rede informada
- Type
- boolean
-
<static> addressToNumber(address)
-
Converte um IPv4 em uma representação numérica. Equivalente a função inet_aton() existente em outras linguagens.
Parameters:
Name Type Description address
string Endereço ip
- See:
Returns:
Representação numérica do endereço informado.
- Type
- number
-
<static> getNetworkRange(address)
-
Calcula o primeiro e o último endereço IP de uma rede.
Parameters:
Name Type Description address
string Endereço IP da rede. Deve ser informado utilizando a notação CIDR. Exemplo: 192.168.0.0/16.
Returns:
Array do primeiro e último ip da rede informada.
- Type
- Array
-
<static> getNumberNetworkRange(address)
-
Calcula a representação numérica do primeiro e o último endereço IP de uma rede.
Parameters:
Name Type Description address
string Endereço IP da rede. Deve ser informado utilizando a notação CIDR. Exemplo: 192.168.0.0/16.
Returns:
Array das representações numéricas do primeiro e último ip da rede informada.
- Type
- Array
-
<static> isIPv4Address(address)
-
Verifica se o endereço informado é um IPv4 válido utilizando a notação CIDR.
Parameters:
Name Type Description address
string Endereço que deve ser verificado.
Returns:
True se o endereço informado é um IPv4.
- Type
- boolean
-
<static> maskToNumber(mask)
-
Converte a representação textual de uma máscara de rede no valor da máscara CIDR.
Parameters:
Name Type Description mask
string Representação textual da máscara. Exemplo: "255.0.0.0".
- See:
Returns:
Máscara CIDR. Número inteiro variando de 0 a 32.
- Type
- number
-
<static> numberToAddress(num)
-
Converte a representação numérica de um endereço IPv4 em uma string. Equivalente a função inet_ntoa() existente em outras linguagens.
Parameters:
Name Type Description num
number Número gerado pelo método NetworkUtilities.addressToNumber()
- See:
Returns:
Representação textual do endereço informado.
- Type
- string
-
<static> numberToMask(num)
-
Converte uma máscara CIDR em uma representação textual.
Parameters:
Name Type Description num
number Máscara numérica CIDR. Número inteiro variando de 0 a 32.
- See:
Returns:
Representação textual da máscara. Exemplo: "255.0.0.0".
- Type
- string
-
findHosts(ids)
-
Obtém as chaves dos hosts cadastrados que possuam o endereço informado. Também é definido o método de classe NetworkUtilities.findHosts para usos eventuais Prefira instanciar a classe NetworkUtilities e chamar findHosts da instância se utilizar muito este método.
Parameters:
Name Type Description ids
string | Array.<string> Nome ou endereços ip do computador que deve ser localizado. Pode ser informado um único ou um array de identificadores do computador.
Returns:
Array com as chaves dos servidores que possuam o nome ou endereço ip igual ao pesquisado.
- Type
- Array.<number>
Example
var NetworkUtilities = require('@nginstack/engine/lib/net/NetworkUtilities'); // Localiza o engine que está executando este script no cadastro de servidores var hosts = NetworkUtilities.findHosts([server.localHost, server.localAddress]); if (hosts.length === 1){ return hosts[0] } else { if (hosts.length === 0) { throw new Error("Não existe um computador cadastrado com o nome \"" + server.localHost + "\" ou ip \"" + server.localAddress + "\".") } else { throw new Error("Existe mais um computador cadastrado com o nome \"" + server.localHost + "\" ou ip \"" + server.localAddress + "\".") } }
-
findNetworks(ids)
-
Obtém as chaves das redes cadastradas que contenham o endereço informado. Pode ser informado o endereço de um computador ou de uma rede. Neste último caso, deve ser utilizada a notação CIDR (ex: 192.168.0.1/24). Também é definido o método de classe NetworkUtilities.findNetworks para usos eventuais Prefira instanciar a classe NetworkUtilities e chamar findNetworks da instância se utilizar muito este método.
Parameters:
Name Type Description ids
string | Array Endereços de uma rede ou endereços ou nomes de um computador. Pode ser informado um único ou um Array de identificadores.
- See:
Returns:
Array com as chaves das redes que contém o endereço informado.
- Type
- Array
-
findServices(ids, serviceClass, port)
-
Obtém as chaves dos serviços cadastrados na classe Services que estejam associados ao host informado. Serão retornados as chaves de todos serviços dos servidores cujo nome ou endereço IP seja igual ao informado em host. Também é definido o método de classe NetworkUtilities.findServices para usos eventuais Prefira instanciar a classe NetworkUtilities e chamar findServices da instância se utilizar muito este método.
Parameters:
Name Type Description ids
string | Array.<string> Nome ou endereços ip do computador. Pode ser informado um único ou um array de identificadores do computador.
serviceClass
number Classe do serviço desejado
port
number Porta do serviço. Parâmetro opcional para restringir a pesquisa para serviços configurados na porta informada. É útil apenas quando existe mais de um serviço de mesma classe configurado em um host.
- See:
Returns:
Array com as chaves dos serviços localizados
- Type
- Array
Example
var NetworkUtilities = require('@nginstack/engine/lib/net/NetworkUtilities'); // Descobre os servidores SMTP configurados no engine que está executando este script var services = NetworkUtilities.findServices( [ server.localHost, server.localAddress ], -1898146235) // SMTP if ( services.length == 0 ){ throw new Error("Não existe um serviço SMTP cadastrado no computador com o " + "nome \"" + server.localHost + "\" ou ip \"" + server.localAddress + "\".") }