Simple Socket Client Project 1.

Slides:



Advertisements
Similar presentations
Three types of remote process invocation
Advertisements

WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
SSH SSH is “Secure SHell” Secure, compressed, widely supported, fast Allows both users to get jobs done, and also allows system administrators to sleep.
Internet Security Protocols
COEN 445 Communication Networks and Protocols Lab 4
FONG CHAN SING (143334) WONG YEW JOON (143388). JAVA RMI is a distributive system programming interface introduced in JDK 1.1. A library that allows an.
K. Salah 1 Chapter 31 Security in the Internet. K. Salah 2 Figure 31.5 Position of TLS Transport Layer Security (TLS) was designed to provide security.
CS201 - Laboratory Submittal Using the submit command.
Programming project #4 1 CS502 Spring 2006 Programming Project #4 Web Server CS-502 Operating Systems Spring 2006.
Online Chess Project 3 Due date: April 17 th. Introduction Third in series of three projects This project focuses on adding online support –2 players.
UPLOADING YOUR SERVER CODE TO YOUR VIRTUAL MACHINE.
Apache : Installation, Configuration, Basic Security Presented by, Sandeep K Thopucherela, ECE Department.
CS-3103 & CS-502, Summer 2006 Programming Project #31 Programming Project #3 Web Server CS-3103 & CS-502 Operating Systems.
Christo Wilson Project 4: File System in Pintos
Buffer Overflow Attacks. Memory plays a key part in many computer system functions. It’s a critical component to many internal operations. From mother.
Free Powerpoint Templates Working on remote computers by Pedro Henriques June 1, 2012.
FORESEC Academy FORESEC Academy Security Essentials (II)
Chapter 4: Core Web Technologies
CS/EE 145A Reliable Transmission over Unreliable Channel Netlab.caltech.edu/course.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
1 CSC111H Client-Server: An Introduction Dennis Burford
FTP Client Application CSC 8560 Brian Jorgage 4/27/2004.
Python From the book “Think Python”
1 CHAPTER 2 LAWS OF SECURITY. 2 What Are the Laws of Security Client side security doesn’t work Client side security doesn’t work You can’t exchange encryption.
Project 1. Goals  Write a simple TCP/IP client that supports a specific protocol  The server is running right now on login.ccs.neu.edu:27993  If your.
CPSC 233 Run graphical Java programs remotely on Mac and Windows.
Oracle Data Integrator Agents. 8-2 Understanding Agents.
FTP File Transfer Protocol Graeme Strachan. Agenda  An Overview  A Demonstration  An Activity.
1 Securing Network Services. 2 How TCP Works Set up connection between port on source host to port on destination host Each connection consists of sequence.
Protocols COM211 Communications and Networks CDA College Olga Pelekanou
CSE 4939 Alex Riordan Brian Pruitt-Goddard. Design an interactive source control application that works between an android phone and a project located.
SSH. 2 SSH – Secure Shell SSH is a cryptographic protocol – Implemented in software originally for remote login applications – One most popular software.
Troubleshooting Directories and Files Debugging
Windows 10 Common VPN Error Tech Support Number
Virtual Private Network Access for Remote Networks
Welcome POS Synchronize Concept 08 Sept 2015.
Tonga Institute of Higher Education IT 141: Information Systems
Data Virtualization Tutorial… SSL with CIS Web Data Sources
Building Bridges CS 3700 Project 2.
Section 6.3 Server-side Scripting
CITA 352 Chapter 5 Port Scanning.
Project 1 Simple Socket Client.
Sockets and Beginning Network Programming
Web Technologies IT230 Dr Mohamed Habib.
Data Virtualization Demoette… ADO.NET Client
Cross Platform Development using Software Matrix
FTP Lecture supp.
Building Bridges CS 3700 Project 2.
Simple Socket Client Project 1.
Reliable Transport CS 3700 Project 3.
Packet Sniffing.
Telnet/SSH Connecting to Hosts Internet Technology.
Java Byte IPC: Part 6-Summary
Web Server Administration
What is Cookie? Cookie is small information stored in text file on user’s hard drive by web server. This information is later used by web browser to retrieve.
Intro to Ethical Hacking
RECONNAISSANCE & ENUMERATION
Intro to Ethical Hacking
SSH SSH is “Secure SHell” Secure, compressed, widely supported, fast
Tonga Institute of Higher Education IT 141: Information Systems
Reliable Transport CS 3700 Project 3.
Starting TCP Connection – A High Level View
Tonga Institute of Higher Education IT 141: Information Systems
Chapter 2: Operating-System Structures
Lab 4: Introduction to Scripting
Snippet Engine as a Database Server
Information Retrieval and Web Design
Exceptions and networking
Virtual Private Network
Presentation transcript:

Simple Socket Client Project 1

Goals Write a simple TCP/IP client that supports a specific protocol The server is running right now on cs5700f17.ccs.neu.edu:27998 If your program is correct, the server will send you a secret flag Turn in your code and the secret flag in order to receive full credit DUE: January 19, 11:59:59 PM

Your Program Can be written in whatever language you want Must compile on the CCIS Linux machines and run on the command line Don’t use crazy libraries that aren’t installed by default Don’t write a program with a GUI If you use an IDE, make sure your code doesn’t have any hidden dependencies

Command Line Syntax $ ./client <-p port> <-s> [hostname] [NEU ID] Your client must follow this syntax exactly Hostname – the name of the server E.g. cs5700f17.ccs.neu.edu Port – Optional parameter, the port the server is listening on By default, port is 27998 Secure – Optional parameter, indicates that the client should use an SSL encrypted socket NEU ID – your NEU ID

The Protocol (Part 1) 4 messages Your client begins by sending HELLO HELLO, STATUS, SOLUTION, and BYE Your client begins by sending HELLO cs3700spring2018 HELLO [your NEU ID]\n The server will respond with a STATUS cs3700spring2018 STATUS [an equation]\n The equation will be a simple math problem E.g. “5 + 10” or “32 * 509” or “2391 / 93”

The Protocol (Part 2) Your client returns a SOLUTION message cs3700spring2018 [the solution]\n The server may respond with another STATUS, or it may respond with BYE cs3700spring2018 BYE [secret flag]\n The secret flag is what you want :)

Turning In Your Project Register your group You have to do this even for a group of 1! Create a directory for your files All of your (well documented) code Makefile README secret_flags (a file with the secret flags of the group members, one per line) Run the turn-in script

Grading 4% of your total grade To receive full credit: Turn in working code that compiles/runs successfully Turn in the secret flags of all group members If your code doesn’t compile or doesn’t run, you get zero credit All code will be scanned by plagiarism detection software

Common Issues “Do I need a Makefile if my code is in <some non-compiled scripting language>?” YES, but it can simply do things like set your script to be executable If running ‘make’ from your directory gives an error, you lose a point “I’m working from home and I cannot connect to the server!” Sadly, the university firewall blocks all traffic on non-standard ports You have two options: SSH into a CCIS machine and run your code from there Use the Northeastern VPN to bypass the firewall

Extra Credit Possible to get 0.5% extra credit (4.5% total) Augment your client to support SSL sockets The protocol is exactly the same, its just encrypted with SSL If your SSL client is successful, you will get another secret flag Put these new keys in the secret_flags file The SSL server is running on the same host, port 27999 Warning: Java’s SSL implementation is awful