歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Node.js寫的sslproxy捕獲ssl明文數據

Node.js寫的sslproxy捕獲ssl明文數據

日期:2017/3/1 10:14:16   编辑:Linux編程

Node.js寫的sslproxy捕獲ssl明文數據:

  1. var net = require('net');
  2. var sslproxyhost="192.168.7.19";//被代理的服務的IP
  3. var sslproxyport=5004;//被代理的端口
  4. var ssllistenport=5004;//代理端口
  5. var tls = require('tls');
  6. var fs = require('fs');
  7. var options = {
  8. key: fs.readFileSync('ryans-key.pem'),
  9. cert: fs.readFileSync('ryans-cert.pem'),
  10. };
  11. var sslserver = tls.createServer(options, function(cleartextStream) {
  12. console.log('client connected',
  13. cleartextStream.authorized ? 'authorized' : 'unauthorized');
  14. console.log('client disconnected');
  15. //cleartextStream.setEncoding('ascii');
  16. cleartextStream.on('data', function(data) {
  17. console.log('client send:');
  18. console.log(data);
  19. console.log('' + data);
  20. });
  21. cleartextStream.on('end', function() {
  22. console.log('client disconnected');
  23. //server.close();
  24. });
  25. var c_cleartextStream = tls.connect(sslproxyport,sslproxyhost, {}, function() {
  26. console.log('server connected',
  27. c_cleartextStream.authorized ? 'authorized' : 'unauthorized');
  28. });
  29. //c_cleartextStream.setEncoding('ascii');
  30. c_cleartextStream.on('data', function(data) {
  31. console.log('server recv:');
  32. console.log(data);
  33. buf = new Buffer(data.length);
  34. for (var i = 0; i < data.length ; i++) {
  35. // buf[i] = data.charCodeAt(i);
  36. buf[i]=data[i]&0x7f;
  37. }
  38. console.log("server recv2(cut even):");
  39. console.log(buf);
  40. console.log('' + buf);
  41. });
  42. c_cleartextStream.on('end', function() {
  43. console.log('server disconnected');
  44. //sslserver.close();
  45. });
  46. cleartextStream.pipe(c_cleartextStream);
  47. c_cleartextStream.pipe(cleartextStream);
  48. //
  49. });
  50. sslserver.listen(ssllistenport, function() {
  51. console.log('server bound');
  52. });
Copyright © Linux教程網 All Rights Reserved