nodejs 端口_nodejs端口扫描

hacker|
114

使用 NodeJs 实现本地接口系统

一个基于node.js的轻量级 API mock服务 。

 

在存放mock数据的文件夹下执行命令启动服务。

如果mock数据文件放在名为 mock-data 的文件夹下,则在 mock-data 文件夹下执行以下命令。

以下命令默认端口为 7777

或者使用自定义端口

服务启动后,访问地址为

在存放mock数据的目录下新建 .json 或者 .js 为后辍的文件。

mock规则示例如下:

如果对同一接口分别创建了 js 和 json 两个mock文件,会优先取 js文件 的数据。

mock文件名必须和API接口的文件名一致,才能将API和mock文件匹配。

示例:

示例:

1) 先安装包

2) 在任意位置新建一个文件夹 mock-test

3) 在 mock-test 目录下新建mock数据文件 test.json ,并添加内容如下:

4) 在 mock-test 目录下面执行命令启动mock服务 (默认端口7777)

5) 打开浏览器,输入以下地址,访问mock文件

请求地址只要以 test 结尾的,都可以访问到上面创建的 test.json 文件

6) 项目中使用

以webpack4为例:

Github仓库源码地址: ,欢迎 +Star

nodejs进程端口号是多少

var cmd=process.platform=='win32'?'netstat -ano':'ps aux';

var exec = require('child_process').exec;

var qqname='qq';

var port='3392';

exec(cmd, function(err, stdout, stderr) {

    if(err){ return console.log(err); }

    

    stdout.split('\n').filter(function(line){        

        var p=line.trim().split(/\s+/); 

        var address=p[1];        

        if(address!=undefined){        

            if(address.split(':')[1]==port)

            {                

                exec('taskkill /F /pid '+p[4],function(err, stdout, stderr){

                    if(err){

                        return console.log('释放指定端口失败!!');    

                    }

                    

                    console.log('占用指定端口的程序被成功杀掉!');

                });

            }

        }                          

    });

});

nodejs如何检查哪个IP访问80端口

由于linux的系统限制,普通用户是无法打开1024以下端口的,这里面就包括http的默认端口80,这就使得很多用户使用root权限来执行node,这带来了不可预计的安全问题,所以这并不是一个好办法。

其实我们可以使用iptables的端口转发功能来解决这个问题:

1,首先将node的主程序绑定到高于1024端口,比如8090,这样普通用户就可以启动这个http server了,只不过不是在默认的80端口上监听;

2,配置iptables将80端口转发到8090上,如下命令:

#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8090

该命令的意思就是在iptable中添加一条端口转发规则,如果删除该规则,重新绑定,则先查找出:

#iptables --line-numbers --list PREROUTING -t nat

然后使用行号删除:

#iptables -t nat -D PREROUTING 行号

3,记得添加8090端口到iptables的INPUT ACCEPT规则中

#iptables -I INPUT -p tcp --dport 8090 -j ACCEPT

4,第2步和第3步添加的这些规则,都是临时性的,重启服务器之后就无效了,所以需要保存起来

#/sbin/service iptables save

端口转发配置完成

————————————————

版权声明:本文为CSDN博主「newborn2012」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

Nodejs的WebSocket模块怎么设置连接超时时间

在建立socket连接时可以很容易设置socket通信的发送和接收超时时间,但是在建立socket通信时,如果是Win98系统,则如果连接失败,则程序会一直等待在哪里,Windows2000默认超时时间是30秒,当然,这个超时时间不算长,但是加入我们要循环扫描一系列端口并且建立连接的话,总的等待时间就会让人忍受不了,下面就以delphi为例进行说明,如何在建立socket的时候设置其超时时间:

//连接,发送和接收时间都设为2秒

SctTimeOut := 2000;

//设置接收数据通信超时

setsockopt(hSock,SOL_SOCKET,SO_RCVTIMEO,@SctTimeOut,SizeOf(Integer));

//设置发送数据通信超时

setsockopt(hSock,SOL_SOCKET,SO_SNDTIMEO,@SctTimeOut,SizeOf(Integer));

//首先,设置通讯为非阻塞模式

dwArg := 1;

RecvLen := ioctlsocket(hSock,FIONBIO,dwArg);

//其次,连接服务器

ZeroMemory(@addr, sizeof(addr));

addr.sin_family := AF_INET;

addr.sin_addr.S_addr := inet_addr(pchar(SvrIP));

addr.sin_port := htons(Strtoint(SvrPort));

RecvLen := 0;

RecvLen := connect(hSock, addr, sizeof(addr));

//再次,设置连接超时时间为2秒

tmOut.tv_sec := 2;

tmOut.tv_usec := 0;

FD_ZERO(recvSet);

FD_SET(hSock, recvSet);

RecvLen := select(0, @recvSet, @recvSet, nil, @tmOut);

//连接失败,报错误信息

if (RecvLen = 0) or (RecvLen = SOCKET_ERROR) then

begin

ErrMsg := '连接服务器失败!';

exit;

end;

//最后,设置通讯为阻塞模式

dwArg := 0;

RecvLen := ioctlsocket(hSock,FIONBIO,dwArg);

//end modify

无法连接到本地服务器中用Nodejs问题,怎么解决

搭建nodejs服务器步骤:

1.安装nodejs服务(从官网下载安装),node相当于apache服务器

2.在自己定义的目录下新建服务器文件如 server.js

例如,我在E:\PhpProject\html5\websocket下创建了server.js文件

var http = require('http');//引入http模块//开启服务,监听8888端口//端口号最好为6000以上var server = http.createServer(function(req,res){

/*

req用来接受客户端数据

res用来向客户端发送服务器数据

*/

console.log('有客户端连接');//创建连接成功显示在后台

//一参是http请求状态,200连接成功

//连接成功后向客户端写入头信息

res.writeHeader(200,{ 'content-type' : 'text/html;charset="utf-8"'

});

res.write('这是正文部分');//显示给客户端

res.end();

}).listen(8888);

console.log('服务器开启成功');123456789101112131415161718192021222324

3.在cmd控制台中cd切换进server.js所在的目录,然后执行node server.js命令

当控制台显示”服务器开启成功”则说明node服务器已经建立

4.在浏览器中访问服务器

在浏览器中输入

localhost:8888 , 浏览器显示“这是正文部分”。

查看cmd控制台,显示 “有客户端连接”

可在多个浏览器窗口中进行以上操作,每个浏览器窗口均会对应一次“有客户端连接”

以上步骤完成,node服务搭建完毕。下面是如何通过搭建的node服务访问本地站点的 text/html文本文件

访问本地站点文件

1.在自定义的目录下创建node服务文件server2.js

var http = require('http');var fs = require('fs');//引入文件读取模块var documentRoot = 'E:/PhpProject/html5/websocket/www';//需要访问的文件的存放目录var server= http.createServer(function(req,res){

var url = req.url;

//客户端输入的url,例如如果输入localhost:8888/index.html

//那么这里的url == /index.html

var file = documentRoot + url;

console.log(url); //E:/PhpProject/html5/websocket/www/index.html

fs.readFile( file , function(err,data){

/*

一参为文件路径

二参为回调函数

回调函数的一参为读取错误返回的信息,返回空就没有错误

二参为读取成功返回的文本内容

*/

if(err){

res.writeHeader(404,{ 'content-type' : 'text/html;charset="utf-8"'

});

res.write('h1404错误/h1p你要找的页面不存在/p');

res.end();

}else{

res.writeHeader(200,{ 'content-type' : 'text/html;charset="utf-8"'

});

res.write(data);//将index.html显示在客户端

res.end();

}

});

}).listen(8888);

console.log('服务器开启成功');12345678910111213141516171819202122232425262728293031323334353637383940414243444546

2.创建index.html文件

如果要访问index.html文件,当然你得先有这个文件,不然服务器读取失败,返回40412

3.在cmd控制台cd切换到 server2.js的目录下执行node server2.js命令

开启服务器

4.在浏览器输入localhost:8888/index.html访问 该文件

0条大神的评论

发表评论