• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

IP Port Relay

Gil

Well-known member
Is there a program, preferably for Mac OS 7.x, that will allow you to take information from one IP port, and relay it onto another with authentication?

 

benjgvps

Well-known member
I am not too sure about that, though I think some Dlink routers can do that from the web interface.

 

porter

Well-known member
Is there a program, preferably for Mac OS 7.x, that will allow you to take information from one IP port, and relay it onto another with authentication?
You might want to be a bit more specific than that.

1. Do you mean have a listener on port X that then establishes another stream to connect to port Y on the same box?

2. TCP/IP has no authentication. What authentication were you thinking of?

3. You may find that MacSSH may be able to do what you want, but I can't tell from your vague requirements.

 

Gil

Well-known member
Computer A sends information on Port X to Computer B (Mac w/ said program). Computer B then takes that information and sends it to Computer C, (which requires username and password authentication) on Port Y.

It would look something like this:

Computer A --> **Information sent on Port X** --> Computer B --> **Information forwarded to Port Y** --> Computer C (remote; requires authentication)

I don't know if that made any sense.

 

porter

Well-known member
How are you intending the username/password to be handled?

Who does the authentication?

Who adds the username and password to the data stream?

MacOS is really not the operating system for doing this kind of stuff. It can be done, but it's not what the OS was designed for. Use a UNIX/Linux style box and you will have loads of options.

What is computer C with port Y on it?

 

Gil

Well-known member
How are you intending the username/password to be handled?
Who does the authentication?

Who adds the username and password to the data stream?

MacOS is really not the operating system for doing this kind of stuff. It can be done, but it's not what the OS was designed for. Use a UNIX/Linux style box and you will have loads of options.

What is computer C with port Y on it?
I was thinking something like a text file with the auth info.

Computer B would authenticate with Computer C

Computer B does.

Don't really have a box handy to run UNIX. Unless OpenBSD was used on the Mac, which I cannot find. Or it would have to be a pretty lightweight UNIX system. I'm not good with UNIX at all, so that might be a little challenging.

Computer C is the "final destination", which is located at a friends house. Basically Computer A can only send data on one port, and Computer C can only accept data on one port. Computer A cannot be changed to the same port that C runs on, and vice-versa. So there needs to be a "bridge" between them, so that they can talk to eachother. Complicated, I know, but that's how it is.

 

porter

Well-known member
What protocol is going over the TCP/IP stream?

What is the program at the other end?

Presumably it already expects the authentication somehow? If so why isn't this authentication provided by A?

 

Gil

Well-known member
What protocol is going over the TCP/IP stream?
What is the program at the other end?

Presumably it already expects the authentication somehow? If so why isn't this authentication provided by A?
Not 100% sure, but I think it's HTTP.

Some kind of server software for an app he is building.

I guess it could be, if computer B does not alter the data in any way, shape or forum, and just passes the information directly on to C.

Perhaps if there is no such program out there, there is some way to hack a broadband router to do this?

 

porter

Well-known member
Perhaps if there is no such program out there, there is some way to hack a broadband router to do this?
The bit I am unclear on is how this authentication is supposed to happen, who is authenticating what and how.

If the stream was SSL then you want the true client to provide the authentication data in the stream, then the server authenticates the client.

The box is the middle should be as dumb as possible and only have to do the port redirection. The authentication injected by the man in the middle looks and feels wrong.

My broadband router lets an externally visible port be forwarded to any port on any computer on the internal network, so, for example I have the sshd port on the broadband router forwarding to one of my servers on my internal network.

ssh can do alot of port redirection just by itself.

MacOS can do anything that somebody has already written a program for.

UNIX can do many new things by arranging existing programs in some cunning fashion.

 

Gil

Well-known member
Perhaps if there is no such program out there, there is some way to hack a broadband router to do this?
The bit I am unclear on is how this authentication is supposed to happen, who is authenticating what and how.

If the stream was SSL then you want the true client to provide the authentication data in the stream, then the server authenticates the client.

The box is the middle should be as dumb as possible and only have to do the port redirection. The authentication injected by the man in the middle looks and feels wrong.

My broadband router lets an externally visible port be forwarded to any port on any computer on the internal network, so, for example I have the sshd port on the broadband router forwarding to one of my servers on my internal network.

ssh can do alot of port redirection just by itself.

MacOS can do anything that somebody has already written a program for.

UNIX can do many new things by arranging existing programs in some cunning fashion.
Yes, I believe it is SSL. Basically, Computer A has to authenticate a username and password with Computer C before any real data transfers can take place.

My current router (Linksys) can do port forwarding, internal-external and external-internal. But I don't know if that would work for this scenario.

 

porter

Well-known member
My current router (Linksys) can do port forwarding, internal-external and external-internal. But I don't know if that would work for this scenario.
Is there a router in front of machine C which could do the translation?

 

Gil

Well-known member
My current router (Linksys) can do port forwarding, internal-external and external-internal. But I don't know if that would work for this scenario.
Is there a router in front of machine C which could do the translation?
On my end there is.

 
Top