Setting up your work environment
File: misc/status.txt [see below for what this means]
You'll need to work on your own for this, since it involves setting up your own computer. But take advantage of our class Slack workspace to ask questions if you get stuck. Also, if you have a friend in the class, doing this setup together can make it more fun and probably more productive.
Goals
- Start using our Slack workspace to communicate the class.
- Get access to Kali Linux on a VMWare virtual machine, which you'll need for this class on your working computer.
- Get familiar with the basics of git, GitHub, and the Unix command-line interface.
Rubric
Resources mentioned below
- [TUTORIAL] Guide to using git in this class
Part 1: Slack
- Accept the email invitation that you received for our Slack workspace.
- If you didn't receive it, let me know right away!
- Install the Slack app on your work computer and/or your mobile device (if you have one). Make a plan that ensures that you'll check Slack once per day.
- Post a short introduction to yourself in the #general channel. Here's what I would like you to include.
- What's one non-tech-related thing you like to do for fun?
- What music or book or movie or painting or podcast (etc.) are you excited about these days?
- Anything else you want to say.
- Please do not talk about computer stuff in this post. There will be plenty of opportunity for that later.
Part 2: Kali Linux
(Go straight to the instructions.)
For many of our investigations into practical network security this term, we're going to use tools installed on the Kali distribution of Linux. If you had the spare computer, the time, the right kind of computer, and the inclination, you could install Kali as your computer's operating system. But that's impractical for most of us, so instead, we're going to use Kali installed in a virtual machine (specifically, we'll be using VMWare). To do so, you have a few options, depending on your situation.
Use the computers in Olin 310. Launching Kali via VMWare on the macOS installations in our lab/classroom is easy, and we'll do it occasionally in class.
Install Kali in VMWare on your own computer. This would be ideal for most of you, for your own convenience. However, there are a couple caveats:
- It's a pretty tedious installation process, partly (but not entirely) because of the complexity of using Carleton's VMWare license to get you free access.
- If you are using a Mac with an Apple M1 processor, it's even harder.
- If you are using a Windows machine that does not support virtualization (rare, but some laptops are like that), it won't work.
With those caveats in mind, here are some instructions for using Kali in Olin 310 or installing Kali on VMWare on your own machine. If you find errors or omissions in these instructions, please pass them along to both Jeff and Mike Tie (mtie).
Part 3: git and GitHub
To submit your work for this class and to support collaborative work with your classmates, you will use a git repository to store your code, documentation, presentations, etc.
Here's the short version of your git setup tasks:
- If you don't already have one, create a free account on GitHub.
- Create a GitHub repository named "cs338" or something similar for your work in this class. Make it public and give it a README.
- Add a .gitignore file to the top level of your repository, containing at least the following:
.DS_Store *.pyc __pycache__/
- Fill out this survey so the grader and I can get access to your repository
Don't know anything or much at all about git? Walk through these optional git startup instructions.
Part 4: what to hand in, and how
- As specified above, post in #general on our Slack workspace.
- As requested above, fill out the GitHub survey.
- Make sure your repository includes a .gitignore file with at least the contents specified above.
- Add a folder named misc at the top level of your git repository.
In misc, create a text file named status.txt. In that file, put your name at the top. Then describe briefly your plan for using Kali, and the status of your Kali installation (if any). You can put any other observations or concerns here as well. Don't put questions here, though—use Slack's #questions channel for that.
(You might ask "why do I need to include my name in status.txt, when it's in my repository?" (1) in some cases, you'll be sharing documents with me and your classmates, and having your name in your documents will lead to less confusion; (2) it's a good habit to put brief name-plus-title-or-description info at the top of your professional documents.)
While you're at it, scroll to the very top of this page that you're reading right now, and note that it says "File: misc/status.txt" under the assignment title. Whenever I include a "File:" specification like that, I'll expect you to put your work in a file of the specified name in the specified folder.
- Make sure to "git add" both .gitignore and misc/status.txt, commit your changes, and push the whole thing to the GitHub copy of your repository so I can see it.
All done
That's all for now. Next up: we'll start learning how to use Kali and its many tools.