Eam*_*orr 17 javascript portforwarding node.js
我正在尝试将所有流量从端口6999转发到端口7000(我知道我可以使用iptables,但想法是使用Node.js进行一些数据包检查).
这是我的代码:
var net=require('net');
var compress=require('./node-compress/compress');
var ip='172.16.1.224';
var ipPort=6999;
var opPort=7000;
var output=net.createServer(function(connOut){
var input=net.createServer(function(connIn){
connIn.pipe(connOut);
});
input.listen(ipPort,ip);
});
output.listen(opPort,ip);
Run Code Online (Sandbox Code Playgroud)
它似乎没有用.当我在端口7000上执行tcpdump时,没有任何显示.有人有什么建议吗?
提前谢谢了,
joo*_*.fi 35
这是我的理由:
支持从命令行提供"from"和"to",并支持远程计算机.
var net = require('net');
// parse "80" and "localhost:80" or even "42mEANINg-life.com:80"
var addrRegex = /^(([a-zA-Z\-\.0-9]+):)?(\d+)$/;
var addr = {
from: addrRegex.exec(process.argv[2]),
to: addrRegex.exec(process.argv[3])
};
if (!addr.from || !addr.to) {
console.log('Usage: <from> <to>');
return;
}
net.createServer(function(from) {
var to = net.createConnection({
host: addr.to[2],
port: addr.to[3]
});
from.pipe(to);
to.pipe(from);
}).listen(addr.from[3], addr.from[2]);
Run Code Online (Sandbox Code Playgroud)
(另存为proxy.js)
从localhost转发:9001 => localhost:80
$ node proxy.js 9001 80
Run Code Online (Sandbox Code Playgroud)
或localhost:9001 => otherhost:80
$ node proxy.js 9001 otherhost:80
Run Code Online (Sandbox Code Playgroud)
(这是基于安德烈的回答,谢谢!)
And*_*rov 16
你需要在一边有createConnection.这是我用来转发流量的脚本
var net = require('net');
var sourceport = 1234;
var destport = 1235;
net.createServer(function(s)
{
var buff = "";
var connected = false;
var cli = net.createConnection(destport);
s.on('data', function(d) {
if (connected)
{
cli.write(d);
} else {
buff += d.toString();
}
});
cli.on('connect', function() {
connected = true;
cli.write(buff);
});
cli.pipe(s);
}).listen(sourceport);
Run Code Online (Sandbox Code Playgroud)
您看过 Node.js 模块Hoxy吗?
http://www.youtube.com/watch?v=2YLfBTrVgZU
开发人员自述文件中的快速描述:
Hoxy 是 Node.js 的网络黑客代理,供网络开发人员使用。使用 hoxy,您可以充当“中间人”,并根据一组条件规则更改 HTTP 请求和响应。作为一个正在运行的进程,hoxy 的行为就像一个独立的代理服务器。Hoxy 的灵感来自于作为 Firebug 等调试器的补充,它可以让您操纵客户端运行时,但不能操纵底层的 HTTP 会话。
这应该工作得很好,除非您正在寻找较低级别的数据包到包检查。
| 归档时间: |
|
| 查看次数: |
20083 次 |
| 最近记录: |