Comments (5)
I'm not 100% sure what you're saying, but I'm guessing you have fTelnet connecting to your own instance of fTelnetProxy, and then fTelnetProxy connecting to your BBS. And in your BBS log files you're seeing your own IP address instead of the IP address of the user who is connecting.
If that's right, then that's expected behaviour. The user connects to fTelnetProxy, which will see the user's real IP address. But then fTelnetProxy connects to your BBS, so that's why your BBS sees your own IP address.
I'm not a networking expert, but I don't believe there is any way around that. The best you can do is use something like I implemented in my last commit, where the BBS can send the telnet command "DO SEND-LOCATION" (not literally that text), and then fTelnet will reply back with the client's IP address.
from ftelnet.
Rick
All the socket library files include the function of getting the clients IP
address and the port number on the clients.
On Monday, February 29, 2016, rickparrish [email protected] wrote:
I'm not 100% sure what you're saying, but I'm guessing you have fTelnet
connecting to your own instance of fTelnetProxy, and then fTelnetProxy
connecting to your BBS. And in your BBS log files you're seeing your own IP
address instead of the IP address of the user who is connecting.If that's right, then that's expected behaviour. The user connects to
fTelnetProxy, which will see the user's real IP address. But then
fTelnetProxy connects to your BBS, so that's why your BBS sees your own IP
address.I'm not a networking expert, but I don't believe there is any way around
that. The best you can do is use something like I implemented in my last
commit, where the BBS can send the telnet command "DO SEND-LOCATION" (not
literally that text), and then fTelnet will reply back with the client's IP
address.—
Reply to this email directly or view it on GitHub
#3 (comment).
from ftelnet.
Sorry, not sure what you're referring to.
from ftelnet.
@rickparrish I think he means that the BBS is showing CLIENT_IP, but that is showing his server's IP, not the actual client IP address.
@ptaylor2 unfortunately, that is what a proxy does, and it isn't setup to pass through your actual IP, it isn't part of telnet or rlogin as protocols. It MIGHT be possible to do a WHOIS-style lookup, but that would be a lot of work, and some BBS software wouldn't readily support it in the box.. synchronet would be an easy enough extension afaik.
from ftelnet.
@tracker1 Yeah that's what I was assuming. So there are two telnet options that can help with this:
RFC946: TERMINAL LOCATION NUMBER is specifically for transmitting the client's IP address, but it only supports sending a 64bit integer (32bits for IP, 32bits for terminal number), so it only supports IPv4.
RFC779: SEND-LOCATION is not specifically meant for transmitting an IP address, but since it supports sending an arbitrary length ASCII string there's no reason it can't be used to send either an IPv4 or IPv6 address. For this reason it's the better of the two options.
I implemented both options in fTelnet a couple months ago, so a server that wants to know the client's real IP address can use either option to get it. Of course since it's the client sending the information it's no more trustworthy than say HTTP headers like HTTP_USER_AGENT or HTTP_REFERER.
Ideally fTelnetProxy would intercept the option request and answer instead, since it can supply the guaranteed-to-be-correct IP, but I'll leave that for someone else who is more worried about rogue clients lying about their IP.
from ftelnet.
Related Issues (20)
- MessyCodes HOT 4
- ANSI Music Data Error HOT 1
- CSI+2K does not work.
- Request: Make OnFontChange redraw of screen in new codepage optional HOT 4
- Proxy servers down
- ACSII > 127 not working + ALT (OptionKey) in MacOS also not working HOT 1
- Ymodem-G issues HOT 21
- Accessibility of FTelnet and canvas HOT 18
- Feature request: translate input HOT 3
- Given larger than max values GotoXY should goto max width / height. HOT 3
- andorid app HOT 1
- Support for Atari/ATASCII broken HOT 1
- ANSI Resize Terminal ESC[8;height;width Possible? HOT 5
- ftelnet.norip.xfer seems to have RIP clicking support? HOT 9
- Run without a proxy? HOT 1
- C64 emulation not working HOT 2
- run over https HOT 4
- unknown SOCKS version? HOT 1
- installation instruction HOT 1
- Should ymodem transfers be working? HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ftelnet.