Schedule
Labs
Assignments
TA office hours
Topic videos
Some course notes
Extra problems
Lecture recordings
2. Write a program to crash your assignment four server by connecting to it lots of times, or connecting and disconnecting a lot, or writing too much data on a line, or something. (You will probably learn from the experience whether you manage to crash it or not!)
3. Here is a little chat server (you can simply use 'nc' as the client). Write something to connect to it and be some sort of "bot". For example, sign in with the name "adder" and whenever anyone says something like "add 2 and 3", you say the sum, in a chatty way.
4. Write a program which collects a bunch of information about a computer over the internet. The host name or IP address of the computer is supplied as argv[1]. Connect to ports 22 and 25 of that host and collect the "banner" indicating the ssh and smtp versions (respectively). Also report whether or not the target computer is listening on each of ports 80 and 443 (http and https).
4b. Also, if there is a web server listening on port 80, do a request for a URL something like "/zpjjnrndgpdbaocmrxnwzwnsyksrhwechzrmdjozwxd", assuming that that won't be valid, to get web server software name and version number to display.