gpt4 book ai didi

javascript - Node.js - 将所有流量从端口 A 转发到端口 B

转载 作者:IT老高 更新时间:2023-10-28 22:12:48 25 4
gpt4 key购买 nike

我正在尝试将所有流量从端口 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);

它似乎不起作用。当我在端口 7000 上执行 tcpdump 时,什么也没有出现。有人有什么建议吗?

非常感谢,

最佳答案

这是我的尝试:

支持从命令行给出“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]);

(另存为proxy.js)

从 localhost:9001 转发 => localhost:80

$ node proxy.js 9001 80

或本地主机:9001 => 其他主机:80

$ node proxy.js 9001 otherhost:80

(这是基于安德烈的回答,谢谢!)

关于javascript - Node.js - 将所有流量从端口 A 转发到端口 B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6490898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com