Chargen: Good Intentions on the Old-Timey Internet
somanymachines.com
Chargen: Good Intentions on the Old-Timey Internet
1–10 of 24 posts
Re: Chargen: Good Intentions on the Old-Timey Internet
#2I accept that that's an illusion, though. Things aren't really getting worse overall, nor better. Nothing new under the sun.
Re: Chargen: Good Intentions on the Old-Timey Internet
#3Re: Chargen: Good Intentions on the Old-Timey Internet
#4echo 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?
Re: Chargen: Good Intentions on the Old-Timey Internet
#5Some 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 T…
Re: Chargen: Good Intentions on the Old-Timey Internet
#6Some of those good intentions got tested early enough. There was an instance of a student at Harvey Mudd in the 80s who set up mail forwarding from his Unix account to his VMS account and forwarding from his VMS account to his Unix account. The first e-mail that came in eventually brought both systems to their knees. And the trust remained pretty unbroken regardless of this. Into the 90s, I could telnet easily enough…
Re: Chargen: Good Intentions on the Old-Timey Internet
#7Some of those good intentions got tested early enough. There was an instance of a student at Harvey Mudd in the 80s who set up mail forwarding from his Unix account to his VMS account and forwarding from his VMS account to his Unix account. The first e-mail that came in eventually brought both systems to their knees. And the trust remained pretty unbroken regardless of this. Into the 90s, I could telnet easily enough…
Apparently IPsec, SSH, and SSL all appeared in 1995, as did SHA1 and 3DES, must have been quite a year for crypto. But those took time to catch on, especially as the systems were far more fragmented then than today. It took five years more to get rid of the silly export regulations finally on 2000. That should illustrate how new thing even relatively reliable widespread crypto is, before systems were far more trust based
Re: Chargen: Good Intentions on the Old-Timey Internet
#8I miss those days. Maybe I'm just getting old, but it seems like a trend where time passing or more people getting involved in something causes its inherent quality/goodness/kindness to decrease. I accept that that's an illusion, though. Things aren't really getting worse overall, nor better. Nothing new under the sun.
I really don’t know how non-tech people can stand using the web. It’s almost a complete cesspool of ads, malware, alerts/notifications, shady sites, and dark patterns.
Apps are winning the war because web sites owners make it impossible to use their site.
Re: Chargen: Good Intentions on the Old-Timey Internet
#9Some 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 T…
"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
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. :-)
Re: Chargen: Good Intentions on the Old-Timey Internet
#10Some 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 T…
"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