Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
dns-socket
Advanced tools
Make low-level DNS requests with retry and timeout support.
npm install dns-socket
const dnsSocket = require('dns-socket')
const socket = dnsSocket()
socket.query({
questions: [{
type: 'A',
name: 'google.com'
}]
}, 53, '8.8.8.8', (err, res) => {
console.log(err, res) // prints the A record for google.com
})
var socket = dns([options])
Create a new DNS socket instance. The options
object includes:
retries
Number: Number of total query attempts made during timeout
. Default: 5.socket
Object: A custom dgram socket. Default: A 'udp4'
socket.timeout
Number: Total timeout in milliseconds after which a 'timeout'
event is emitted. Default: 7500.maxQueries
Number: Each request has an id, this is stored as static sized array. maxQueries is the size of this array, limiting the max number of inflight requests. Default: 10000.maxRedirects
Number: If you query for a single A
record and get back CNAME
, the lib will try to follow the chain and resolve the CNAME
to A. The maximum number of steps is defined by the maxRedirects
. Default: 0timeoutChecks
Number: Timeouts are checked each timeoutChecks
ms, for large number of parallel request, you might want to increase this number. Default: timeout
/ 10socket.on('query', query, port, host)
Emitted when a dns query is received. The query is a dns-packet
socket.on('response', response, port, host)
Emitted when a dns response is received. The response is a dns-packet
var id = socket.query(query, port, [host], [callback])
Send a dns query. If host is omitted it defaults to 127.0.0.1
. When the remote replies the callback is called with (err, response, query)
and an response is emitted as well. If the query times out the callback is called with an error.
The host
parameter can be an array, during resolve the lib will randomly select one host.
Returns the query id
socket.response(query, response, port, [host])
Send a response to a query.
socket.cancel(id)
Cancel a query
socket.bind([port][, address][, onlistening])
socket.bind(options, [onlistening])
Bind the underlying udp socket to a specific port. Takes the same arguments as socket#bind.
socket.destroy([onclose])
Destroy the socket.
socket.inflight
Number of inflight queries.
MIT
FAQs
Make low-level DNS requests with retry and timeout support.
The npm package dns-socket receives a total of 145,777 weekly downloads. As such, dns-socket popularity was classified as popular.
We found that dns-socket demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.