2

Reading This Article: Digital Trends CMD Commands.
I Found A command Called Finger. Trying it out on My System, Windows 10
Why won't it let me Finger anyone..
Says Connect: Connection Refused? enter image description here Not Sure If i'm entering the Commands right but just thought it was a funny command.
If anyone else has an update or full comprehensive list of CMD commands please could you add it in the comments.

everything you need to know about tcp ips finger utility
Partially Related Questions found here on StackOverflow with the keywords: CMD & finger..
Capturing Username from Grunt Shell Command
Get only name and login from cmd finger -s
Implement an interactive shell over SSH in Python

Will update the question in a minute with some more resources.

u1686_grawity
  • 426,297
  • 64
  • 894
  • 966
Ryan Stone
  • 113
  • 3
  • 15

2 Answers2

8

The funny name is not Windows-specific – the same program has existed under the same name in many operating systems of the past. "Finger" is one of the earliest ARPAnet services (along with Telnet, FTP, SMTP &c).

Invocation

Your first problem is that the program expects a username and/or an Internet address (hostname or IP address) but you're giving it random numbers instead. Pay attention to the help text that it shows:

finger [-l] [user]@host

This means that -l and the username are optional, but the "@host" is mandatory and it actually has to indicate a host (much like ping or telnet also expect a host).

Note that the -l option is a lowercase L (indicating "long output"), not the number one.

On some other operating systems, finger also has a local mode where you can run it without any hostname and it'll directly collect information about local users. However, the Windows version will not do that – it will always try to connect to the 'fingerd' service running on localhost:79, which Windows systems simply don't have (hence the "Connection refused" message).

(Yes, this actually contradicts the help text somewhat – if Windows had a finger service listening on port 79, then the '@host' would really be optional.)

You can instead try the Windows-specific quser or qwinsta commands to get a general idea of how it would work. (They can even query a remote Windows system kinda like finger, although this too is disabled by default on non-server Windows versions.)

Practical use

The second problem is that nearly all systems on the internet no longer provide the "finger" service, due to reasons of security (it reveals usernames) and privacy (it shows when a user is active and even which IP address they're connecting from). Basically it's a relic from the 1980s Internet.

But a few public systems (mainly "retro computing" sites) still deliberately provide this service, so you can still try it out:

  • finger @ssh.tilde.club (basic Linux machine at the "tilde.club" social network)
  • finger @athena.dialup.mit.edu (MIT's Linux cluster)
  • finger @samba.acc.umu.se (Linux cluster at Umeå University)
  • finger @up.update.uu.se (1970s ITS running in an emulator – you should use the -l option with this one)
  • finger @telehack.com (a game that simulates 80s networks)
  • finger @nullroute.eu.org (an entirely custom "cluster" fingerd)

In all of those commands, the @host can be prefixed with someone's username if you know it, e.g. finger operator@telehack.com. The initial output will show you which usernames are currently logged in.

Some systems will automatically activate "long" mode whenever a username is given, but with some other systems you still need the -l option to get detailed output.


The other system also has to be running Unix.

The remote system is not required to be Unix – OpenVMS, ITS, Cisco IOS also had this service, and it's possible to write one for Windows as well (which I have done).

Because the protocol is very simple (just ASCII over TCP), some systems host a custom finger service that provides other kinds of data, such as weather information – e.g. CMU had a vending machine and MIT used to have a "bathroom occupancy" service (see also). Among new or surviving services, finger [location]@graph.no will give you a weather forecast.

u1686_grawity
  • 426,297
  • 64
  • 894
  • 966
  • Yeah, I though I had deleted my comment. It is now. – DavidPostill Oct 04 '20 at 09:17
  • Thanks for the answer, very informative so do you need to retain the []'s? or is this just indicating that these are optional parameters.. I tried thee two command quser or qwinsta but it said they are not recognised as an internal or external command.. I will have to look them up seperately. – Ryan Stone Oct 04 '20 at 09:59
  • @RyanStone: No, [ ] almost always just indicate that the parameter is optional. (So the full command would look like `finger -l root@example.com`.) As for quser/qwinsta, it could be that they don't exist in Windows Home, as they're technically part of the Remote Desktop service which is only available on Windows Pro and higher. – u1686_grawity Oct 04 '20 at 10:01
  • @user1686 is it solely tcp or can be used with udp or other protocols, just curious... & how would i test out on my own two devices? just to learn stuff... – Ryan Stone Oct 04 '20 at 20:59
  • @RyanStone You connect to the finger listening URL servers as he put in this totally bodacious answer dude! Otherwise, you need to install the fingerd or whatever service/daemon tool runs on your OS and listens on the applicable port for connection. You test with the finger client command on the OS it's available by connecting to systems with it running; he's provided a few example of some of those on the public side you can use to test. – Vomit IT - Chunky Mess Style Oct 04 '20 at 21:23
  • @user1686 Can you explain a little about the recieved output when you do this ie whats the percentage in the last column mean and a few of the other aspects.. – Ryan Stone Oct 05 '20 at 11:44
  • 2
    @RyanStone: This whole field is "hostname" or "terminal location", i.e. where the person is logged in from, and its format is OS-dependent. For regular SSH connections it typically contains the user's IP address, but Linux [terminal multiplexers](https://en.wikipedia.org/wiki/Terminal_multiplexer) such as Screen or Tmux aren't tied to a specific location and fill it with some custom identifier that has no meaning to the rest of the OS, e.g. "tmux(13628).%2" is the 2nd window of a particular Tmux session and ":pts/5:S.1" is the 1st window of a Screen session that's currently attached to pts/5. – u1686_grawity Oct 05 '20 at 15:48
1

That articles information on finger is a bit if a nonsense. Finger is a fairly simple command that is disabled pretty much everywhere because it is more a security threat then a benefit. It was commonly deployed in the early Internet (prior to mass users and security concerns) and does not use encryption or security.

In order for system to work the remote system needs to be running a finger daemon (normally fingerd) - As systems are not running this you get a message when you try use the command.

Likewise the syntax requires a hostname - not a number, so your client is trying to connect to a nonexistent device which is the specific cause of the failure you are seeing.

davidgo
  • 68,623
  • 13
  • 106
  • 163
  • 1
    I don't see why you describe it as "nonsense". The information _is_ correct, even if most sites no longer provide the service that doesn't make it nonsensical. (And yes, it accepts IP addresses.) – u1686_grawity Oct 04 '20 at 09:02
  • I wonder why the finger protocol wasn't retained as a means by which the owner of an email address could supply public information related to it, thus allowing people to know whether email sent to a certain address is likely to reach the intended recipient before sending or even writing it. – supercat Oct 04 '20 at 17:47
  • @user1686 I fear we understand the phrase "a nonsense". The article implies, and the OP appears to have taken away from it that it is in mainstream use - its not . There are different meanings for the word "nonsense" - I used it in the sense of " things of no importance or value" (See https://www.merriam-webster.com/dictionary/nonsense). – davidgo Oct 04 '20 at 17:58
  • 1
    @supercat Reasonable speculation would include that it was an unneccessary security risk that was part of an attack that took down the entire internet in 1988 - https://en.wikipedia.org/wiki/Morris_worm - that it has no relationship to email addresses except for syntax. There was a way of interogating a mail server to verify an email addresses validity- the VRFY command in the SMTP protocol which is almost universally disabled in practice because it does little but encourage spam. (See section 2.11 of https://tools.ietf.org/html/rfc2505) – davidgo Oct 04 '20 at 18:08