Re: Net Trace Address on user command (fwd)

From: John T. Cox (jtcox001@homer.louisville.edu)
Date: 11/27/95


> > does anyone know or have done this and is willing to share this 
> > information with me
> > I am not the coder here just admin my coder is busy on anouther project 
> > and I have a nasty user that keep bothing people and I dont want to ban 
> > the entire site just her
> > but she has 3 or 4 accounts some of wich I cant see with the finger command
> > if I dont know her handle I cant ban her (well you know)
> > I have to find out what the other 3 accounts are soo I need to see 
> > who@whereever.whatever instead of just whereever.whatever
> > thank you for anyone who wants to help
> > 
> This is not possible.  TELNET only sends the site and address, it does 
> not send the user name hense it is impossable to get it.  What I would 
> reccomend doing is sending a message to root@ the system she is on.  And 
> asking them to kindly check the logs for who telneted at the time she 
> telneted.  You should then be able to find out who she is.
> 
Actually this is possible. It's called auth or tap "ident" authentification.
RFC 1340 (check /etc/services on your system) allocates port 113 for this
service. Now, there is a VMS version of ident but I've never seen anyone
running it, so this is only going to work for unix sites (and not all sites
run it, but more and more are). This is the way it works, whenever someone
telnets or ftps or whatever to another site it opens up a port on their
side (and on the other end, you know the port your mud runs on :P). If you
have ever checked netstat you'll notice it gives a listing of everyone
connected to your machine, what type of connection (tcp or udp), what
service and also the port number they're coming from on their site and
the port number they're connected to on yours. Now if they're site runs
and identd (ident daemon), you can telnet to port 113 of their site, enter
the port numbers seperated by a comma and it will return a couple pieces
of info (namely their userid :)). Now to make use of this on your mud, go
grab a libident package for your platform (I know linux's current version
is libident-0.19 and you can get it at ftp.lysator.liu.se:/pub/ident/libs).
Now you'll need to compile the libident library and install it and the
header on your system and don't forget to add -lident to the LIB flags
in your makefile. As far as actual code on the mud, for starters in comm.c
right after you gethostbyaddr is a good place for the ident call (the
actual function is named ident_id). Create a place in the player struct
for the value (you could save it to but then you'd have to do a p-file
conversion or purge your players :(), and then you can put usernames in
whatever cmds or logs you care to. I recommend do_users. Total code not
counting changes to cmds or logs is about 15-20 lines of code across 3-4
files.

Enjoy and good luck,

-- 
==============================================================================
John T. Cox - Supervisor             | jtcox001@homer.louisville.edu           
              IT, Resource Centers   | jtcox001@starbase.spd.louisville.edu   
"Oh yeah!, Well I'm Princess Angelina| jtcox001@ulkyvx.louisville.edu         
Contessa Louisa Francesca Banana     | jtcox001@ulkyvm.louisville.edu         
Fanna Bo Besca the Third!" - Dot     | http://www.spd.louisville.edu/~jtcox001
==============================================================================



This archive was generated by hypermail 2b30 : 12/07/00 PST