NodeJS TCP 端口崩溃
NodeJS TCP Port crashes
我正在使用节点 js 在我的服务器中开发套接字应用程序。我只是在听9000端口。我正在检查客户端发送到此 tcp 端口的数据,如果客户端发出 http 请求,我将客户端从服务器踢出。因为互联网上的某些机器人会这样做,而我不希望它们出现在我的系统中。由于测试目的,我尝试将该端口与浏览器连接,连续按住 F5 刷新按钮,然后应用程序立即崩溃。我通过这种方式在我的端口模拟DDOS攻击。报错信息如下:
events.js:183
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at _errnoException (util.js:992:11)
at TCP.onread (net.js:618:25)
这是我的基本 TCP 侦听器代码
var net = require("net");
var server = net.createServer();
server.on("error", err =>
{
console.log("error handled, error is : %s",err);
});
server.on("connection",function(socket)
{
var remoteAddress = socket.remoteAddress;
console.log("new client connection %s",remoteAddress);
socket.end();
});
server.listen(9000, function()
{
console.log("I am listening.");
});
如何从 HTTP 连接和 Internet 机器人中保存 TCP 端口?
把它放在 socket.end() 下:
socket.on('error', function(error) {
console.log('Socket got problems: ', error.message);
});
完整代码:
var net = require("net");
var server = net.createServer();
server.on("error", err =>
{
console.log("error handled, error is : %s",err);
});
server.on("connection",function(socket)
{
var remoteAddress = socket.remoteAddress;
console.log("new client connection %s",remoteAddress);
socket.end();
socket.on('error', function(error) {
console.log('Socket got problems: ', error.message);
});
});
server.listen(9000, function()
{
console.log("I am listening.");
});
我正在使用节点 js 在我的服务器中开发套接字应用程序。我只是在听9000端口。我正在检查客户端发送到此 tcp 端口的数据,如果客户端发出 http 请求,我将客户端从服务器踢出。因为互联网上的某些机器人会这样做,而我不希望它们出现在我的系统中。由于测试目的,我尝试将该端口与浏览器连接,连续按住 F5 刷新按钮,然后应用程序立即崩溃。我通过这种方式在我的端口模拟DDOS攻击。报错信息如下:
events.js:183
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at _errnoException (util.js:992:11)
at TCP.onread (net.js:618:25)
这是我的基本 TCP 侦听器代码
var net = require("net");
var server = net.createServer();
server.on("error", err =>
{
console.log("error handled, error is : %s",err);
});
server.on("connection",function(socket)
{
var remoteAddress = socket.remoteAddress;
console.log("new client connection %s",remoteAddress);
socket.end();
});
server.listen(9000, function()
{
console.log("I am listening.");
});
如何从 HTTP 连接和 Internet 机器人中保存 TCP 端口?
把它放在 socket.end() 下:
socket.on('error', function(error) {
console.log('Socket got problems: ', error.message);
});
完整代码:
var net = require("net");
var server = net.createServer();
server.on("error", err =>
{
console.log("error handled, error is : %s",err);
});
server.on("connection",function(socket)
{
var remoteAddress = socket.remoteAddress;
console.log("new client connection %s",remoteAddress);
socket.end();
socket.on('error', function(error) {
console.log('Socket got problems: ', error.message);
});
});
server.listen(9000, function()
{
console.log("I am listening.");
});