$50
Objectives
In this assignment, you will implement a client which would hack into a server that communicates using an HTTP-like protocol. After completing this assignment, you should
• be able to implement a simple TCP-based client, and • have a good understanding of communication protocols.
• have a good understanding of FSM.
Testing Your Program
To test your program, please use your SoC UNIX ID and password to log on to sunfire as instructed on Assignment 0 paper. To make the python3 alias permanently and thus avoid typing the alias command every time you login, you can run the following command once to store the shortcut into the configuration file: echo alias python3=/usr/local/Python-3.7/bin/python3 >> ~/.bash_profile
• Your program should receive one command-line argument which is the student_key as the following command shows: python3 Hacker-A0165432X.py <student_key>
• The 6 digit <student_key> has already been mailed to you.
• Note that your program should not read from stdin. Your program can print anything to stdout or stderr, and our test script will silently ignore them.
There
is
no
hid
den
test
cases
dur
ing
grad
• We also release a set of grading scripts to you under the test folder. ing. However, passing all the test cases does not
guarantee that you will get full marks.
• To use the grading script, please upload your program along with the test folder given in the package to sunfire. Make sure that your program and the test folder are in the same directory. Then, you can run the following command to test your server program: bash test/Hacker.sh <student_key>
tput:
un
known
ter
mi
nal
"xterm
-256color"
• If you ever encounter this error: when testing your program using script provided, run the command: export TERM=xterm once after you log in and before you run Hacker.sh.
"con
ges
All of you will be connection to a single server, hence start the assignment early to avoid tion" during last few days.