0
私はこのポートスキャナを書いていますが、正確な結果が得られていません。ここでは、このスキャナ異なるランニングでノードに書き込まれたこのポートスキャナが正確な結果を出さないのはなぜですか?
- についての私の観測は、それはあなたに別の解像度を与える可能性があり、ある 私はポートの範囲を縮小する上での結果が良くなることに気づいた
- ここ
は、コードは次のとおりです。
const net = require('net')
function findPortStatus(port, host, timeout) {
return new Promise((resolve, reject) => {
const socket = net.createConnection(port, host,() => {
resolve(port)
socket.destroy()
})
socket.setTimeout(timeout,() => {
resolve('timeout')
socket.destroy()
})
socket.on('error', (err) => {
resolve('error')
})
})
}
const promises = []
for (let port = 1; port <= 65535; port++) {
promises.push(findPortStatus(port, process.argv[2], 10000))
}
Promise.all(promises)
.then(ports => {
for (let port of ports) {
if (typeof(port) === 'number') {
console.log(port)
}
}
})
コードから手動で範囲を変更し、コードを複数回実行してみてください。同時に開い64kのソケット、64kのファイルディスクリプタなど
ように私はあなたがエラーの種類を確認するべきだと思う...あなたは多くのリソースが必要になります、このコードを実行するには、あなたに