socksv5
socksv5 copied to clipboard
monitor proxy traffic
hi beautiful lib! congrants
I was trying to write a proxy socks that could log the http traffic and contents and show in stdout.
how can I do it? is there something like this already done?
my attempts is this:
const socks = require('socksv5');
const PORT = 9052;
//console.clear();
var srv = socks.createServer(function(info, accept, deny) {
console.log('\n',info.cmd, info.dstAddr, info.dstPort);
if (info.dstPort === 80) { //NOT SSL
var socket;
if (socket = accept(true)) {
/*socket.on('data', function(data) {
console.log('DATA:', data.toString('ascii') );
});*/
socket.pipe(process.stdout);
//socket.end()
}
}
else //SSL connection
accept();
});
srv.listen(PORT, 'localhost', function() {
console.log('SOCKS server listening on port',PORT);
});
srv.useAuth(socks.auth.None());
I'm not sure what you're asking. Do you not see the raw data printed to stdout with the code you've shown?
yes.. but only the headers, I wish I could see the body of requests and responses :-/
- You'll only see request bodies if they're sent, which may not always be the case
- Responses require you to make an actual connection to the intended destination. Right now you're just connecting the incoming request socket to stdout. You have to make a separate socket connection to
dstAddr:dstPortand pipe that back tosocket(and optionally log that to stdout if you want).