3 ms·
Some of the other low TCP ports that used to have public debugging-oriented services: echo 7/tcp echo 7/udp This one would echo back wha
by schoen 6y ago
Some of the other low TCP ports that used to have public debugging-oriented services:
echo 7/tcp
echo 7/udp
This one would echo back what you sent it, kind of like running cat, except on another computer across the Internet.
discard 9/tcp sink null
discard 9/udp sink null
This one would discard what you sent it, kind of like running cat >/dev/null, except on another computer across the Internet.
systat 11/tcp users
This one would sometimes give information about the remote system's status.
daytime 13/tcp
daytime 13/udp
This one would show you what the other machine thought the current time was. I know of one machine that still supports it to this day; try
$ telnet time-a.timefreq.bldrdoc.gov daytime
to see how it works.
netstat 15/tcp
I don't know what this one did.
qotd 17/tcp quote
This one is like running the Unix "fortune" command or something, except on another machine.
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
And this is the one mentioned in the article, with the goal of helping you find bit-level errors on the network path between hosts.
I think many of these were implemented by default and enabled by default in the inetd service, which was a daemon that would bind various TCP ports and then dispatch the connections by forking and execing a specified command with the input and output bound to the socket that the connection had arrived on. However, at least some versions of inetd could also sometimes implement simple services' logic internally instead of using an external command. The use of inetd has now become rare because of the pressure to run fewer network services for security reasons, and because most daemons that provide network services now handle TCP for themselves.
I think one argument for inetd was that there might be services that are typically unused most of the time, so there was no reason to permanently allocate the memory for a daemon to handle those services in between connections. By contrast, as the Internet has gotten larger, faster, and more popular, it's more common to have dedicated machines running individual services that are essentially always in use by multiple remote users, so it's preferable to have the daemon with the relevant logic to answer new requests already running and ready to go. (In fact, now some services will prefork a pool of worker processes to prepare for requests that haven't even arrived yet.)
Edit: does anyone know why these services all received odd-numbered TCP ports?
- dhosek 6y ago"Well-known port numbers are typically odd, because early systems using the port concept required an odd/even pair of ports for duplex operations. Most servers require only a single port. An exception is the BOOTP server which uses two: 67 and 68 (see BOOTstrap Protocol - BOOTP)." https://www.capesoft.com/Cached/UDP.htm https://www.capesoft.com/Cached/UDP.htm
- Terretta 6y agoWith 67 and 68 you also often want 69 there, the Trivial FTP content to boot strap (and don't forget 4011 if you're going full on PXE boot!). See also pairs of channels as in 20 FTP data, 21 FTP control, or SNMP 161 and 162, or versions of channels such as 109 POP2 and 110 POP3. Or greedy designs, like NetBIOS with 137, 138, and 139, which folks later realized could be done on a single port like 445. :-)
- jachee 6y agoOld FTP also ran on a pair of ports: 21 and 20, as described here: https://en.m.wikipedia.org/wiki/File_Transfer_Protocol#Communication_and_data_transfer https://en.m.wikipedia.org/wiki/File_Transfer_Protocol#Commu...
- pwdisswordfish2 6y agoAre there any Old FTP servers still in existence? It would be neat to find one.
- gruturo 6y agoPort numbers used to be all odd (server side) due to a limitation in TCP’s predecessor. Sockets used to be unidirectional so you’d need a pair for two-way communication. It was discussed here on HN not too long ago: https://news.ycombinator.com/item?id=21350246 https://news.ycombinator.com/item?id=21350246