var net = require('net');
var sslproxyhost="192.168.7.19";//被代理的服务的IP
var sslproxyport=5004;//被代理的端口
var ssllistenport=5004;//代理端口
var tls = require('tls');
var fs = require('fs');
var options = {
key: fs.readFileSync('ryans-key.pem'),
cert: fs.readFileSync('ryans-cert.pem'),
};
var sslserver = tls.createServer(options, function(cleartextStream) {
console.log('client connected',
cleartextStream.authorized ? 'authorized' : 'unauthorized');
console.log('client disconnected');
//cleartextStream.setEncoding('ascii');
cleartextStream.on('data', function(data) {
console.log('client send:');
console.log(data);
console.log('' + data);
});
cleartextStream.on('end', function() {
console.log('client disconnected');
//server.close();
});
var c_cleartextStream = tls.connect(sslproxyport,sslproxyhost, {}, function() {
console.log('server connected',
c_cleartextStream.authorized ? 'authorized' : 'unauthorized');
});
//c_cleartextStream.setEncoding('ascii');
c_cleartextStream.on('data', function(data) {
console.log('server recv:');
console.log(data);
buf = new Buffer(data.length);
for (var i = 0; i < data.length ; i++) {
// buf[i] = data.charCodeAt(i);
buf[i]=data[i]&0x7f;
}
console.log("server recv2(cut even):");
console.log(buf);
console.log('' + buf);
});
c_cleartextStream.on('end', function() {
console.log('server disconnected');
//sslserver.close();
});
cleartextStream.pipe(c_cleartextStream);
c_cleartextStream.pipe(cleartextStream);
//
});
sslserver.listen(ssllistenport, function() {
console.log('server bound');
});
详细解决方案
nodejs写的sslproxy擒获ssl明文数据
热度:140 发布时间:2012-08-21 13:00:21.0
相关解决方案
- PHP+nodejs+socket兑现实时通讯有么有实例
- nodejs socket.io 组合php 通过 redis来配置登录验证
- html5+nodejs+mysql解决思路
- NodeJS 多进程运行后,socket.io 应该怎么使用?与 Node 单进程时一样吗
- nodejs 写照护进程
- nodejs npm下令
- nodejs jsdom装配
- nodejs -express有关问题请大师进来感谢
- nodejs express 下传文件
- Nodejs(二) - 文件读取与事件
- Nodejs(三) - 模块和包-1
- 0.4.11 nodejs + cygwin + win7 安装有关问题解决
- nodejs - mysql操作示范
- Nodejs 中GET步骤实现
- nodejs express的一部分修改
- PHP+nodejs+socket兑现实时通讯有么有实例
- 需要来自另一个文件的函数和变量= nodejs
- Javascript / AngularJS / NodeJS-检查重复项吗?
- NodeJS:完成多个异步功能后,如何执行操作?
- 如何从承诺对象中获取内容? NodeJs
- nodejs fs文件的修改 加写入
- nodejs 模板引擎nunjucks使用
- nodejs 连接mysql数据
- nodejs 使用命令行工具写入、读取json文件
- nodejs 删除文件夹、清空文件夹内容
- UOS之 nodejs npm 卸载
- nodejs request response 对象api
- nodejs学习笔记(七)—— Nodejs 中的fs模块 实际应用 以及mkdirp模块的使用
- nodejs学习笔记(六)—— Nodejs 中的fs(file system)模块 主要api
- nodejs 判断是文件夹还是文件