Martin Brunner, Jonas Pfoh Sept. 6, Sept. 24, 2010
|
|
- Teresa Benson
- 6 years ago
- Views:
Transcription
1 Martin Brunner, Jonas Pfoh IT Security Lab Technische Universität München Munich, Germany Sept. 6, Sept. 24, 2010
2 Outline
3 Welcome Goal: Build a tool that will recognize shellcode within packets. You will learn: 1 the layout and formation of IP packets 2 programming with the pcap library 3 what shellcode is and how it works 4 how shellcode can be recognized
4 Welcome Goal: Build a tool that will recognize shellcode within packets. You will learn: 1 the layout and formation of IP packets 2 programming with the pcap library 3 what shellcode is and how it works 4 how shellcode can be recognized
5 Curriculum Sept. 6 -, Course requirements, introduction, Milestone 1 assigned Sept Work on Milestone 1 Sept. 9 - Milestone 1 due, Milestone 2 assigned Sept Work on Milestone 2 Sept Milestone 2 due, to buffer overflows, shellcode, & shellcode detection, Milestone 3 & 4 assigned Sept Work on Milestone 3 & 4 Sept Milestone 3 due Sept Work on Milestone 4 Sept Milestone 4 due, Final demonstration
6 Curriculum Sept. 6 -, Course requirements, introduction, Milestone 1 assigned Sept Work on Milestone 1 Sept. 9 - Milestone 1 due, Milestone 2 assigned Sept Work on Milestone 2 Sept Milestone 2 due, to buffer overflows, shellcode, & shellcode detection, Milestone 3 & 4 assigned Sept Work on Milestone 3 & 4 Sept Milestone 3 due Sept Work on Milestone 4 Sept Milestone 4 due, Final demonstration
7 Curriculum Sept. 6 -, Course requirements, introduction, Milestone 1 assigned Sept Work on Milestone 1 Sept. 9 - Milestone 1 due, Milestone 2 assigned Sept Work on Milestone 2 Sept Milestone 2 due, to buffer overflows, shellcode, & shellcode detection, Milestone 3 & 4 assigned Sept Work on Milestone 3 & 4 Sept Milestone 3 due Sept Work on Milestone 4 Sept Milestone 4 due, Final demonstration
8 Curriculum Sept. 6 -, Course requirements, introduction, Milestone 1 assigned Sept Work on Milestone 1 Sept. 9 - Milestone 1 due, Milestone 2 assigned Sept Work on Milestone 2 Sept Milestone 2 due, to buffer overflows, shellcode, & shellcode detection, Milestone 3 & 4 assigned Sept Work on Milestone 3 & 4 Sept Milestone 3 due Sept Work on Milestone 4 Sept Milestone 4 due, Final demonstration
9 Milestones 1 tcpdump clone () 2 Simple signature detector (extend MS 1) page write-up explaining and defending your approach to shellcode detection 4 Shellcode detection tool (extend MS 2)
10 All programming milestones... must be done in C. must include a makefile and compile with make all. must compile on the workstations in the lab. must make use of the library.
11 All programming milestones... must be done in C. must include a makefile and compile with make all. must compile on the workstations in the lab. must make use of the library.
12 All programming milestones... must be done in C. must include a makefile and compile with make all. must compile on the workstations in the lab. must make use of the library.
13 All programming milestones... must be done in C. must include a makefile and compile with make all. must compile on the workstations in the lab. must make use of the library.
14 make & Makefiles What is make? What is a Makefile?
15 make & Makefiles What is make? make is a program that looks for a Makefile in the current working directory and compiles a program based on this Makefile. What is a Makefile?
16 make & Makefiles What is make? make is a program that looks for a Makefile in the current working directory and compiles a program based on this Makefile. What is a Makefile? A Makefile is a file that generally resides in the top-level directory of your source code and specifies how the program should be compiled.
17 Makefile CC=gcc CFLAGS= c Wall g LDFLAGS= g lpcap OBJS=pack. o a l l : pack Listing 1: Makefile pack : %.o : clean : ${OBJS} ${CC} ${LDFLAGS} ${OBJS} o $@ %.c ${CC} ${CFLAGS} $< rm r f. o pack Key: $@ = target, $< = dependencies, % = match Use: make all
18 Makefile CC=gcc CFLAGS= c Wall g LDFLAGS= g lpcap OBJS=pack. o a l l : pack Listing 2: Makefile pack : %.o : clean : ${OBJS} ${CC} ${LDFLAGS} ${OBJS} o $@ %.c ${CC} ${CFLAGS} $< rm r f. o pack Key: $@ = target, $< = dependencies, % = match Use: make all
19 getopt parser Use getopt 1 to parse commandline arguments! Important details: must include unistd.h char * optarg - the option argument (if required) int optopt - stores option char in case of error. int optind - stores index on next element in argv to be processed. int getopt (int argc, char **argv, const char *options) - returns the next option character (? on error) and stores the argument in optarg. Options are passed as single characters optionally followed by : if they require an argument or :: if they have an optional argument. 1 node/getopt.html
20 getopt parser - example a f l a g = 0 ; w h i l e ( ( c = g e t o p t ( argc, argv, ab : ) )!= 1){ s w i t c h ( c ) { c a s e a : a f l a g = 1 ; break ; c a s e b : bvalue = optarg ; break ; c a s e? : i f ( o p t o p t == b ) f p r i n t f ( s t d e r r, Option %c r e q u i r e s an argument.\ n, o p t o p t ) ; e l s e i f ( i s p r i n t ( o p t o p t ) ) f p r i n t f ( s t d e r r, Unknown o p t i o n %c. \ n, o p t o p t ) ; e l s e f p r i n t f ( s t d e r r, Unknown o p t i o n c h a r a c t e r \\ x%x. \ n, o p t o p t ) ; r e t u r n 1 ; d e f a u l t : a b o r t ( ) ; } } p r i n t f ( a f l a g = %d, b v a l u e = %s\n, a f l a g, b v a l u e ) ; f o r ( index = optind ; index < argc ; index++) p r i n t f ( Non o p t i o n argument %s\n, a r g v [ i n d e x ] ) ;
21 Debugging Don t rely on printf, debuggers are your friend! Learn to use them. Recommendations: gdb - traditional/powerful commandline debugger ddd - front-end GUI for gdb, nice for beginners valgrind - excellent for tracking down causes of segfaults and debugging memory leaks
22 Ethernet (Layer 2 - Data Link) Common Ether Types: IPv4 (0x0800) IPv6 (0x86DD) ARP (0x0806) 2 2
23 IPv4 (Layer 3 - Network) serial communication/ip-header-v4.png
24 TCP (Layer 4 - Transport) header.png
25 UDP (Layer 4 - Transport) 5 Length refers to length of entire datagram in bytes. 5
26 ICMP (Layer 4 - Transport) 6 6
27 Network Byte Order What is byte order (or endianness)?
28 Network Byte Order What is byte order (or endianness)? The order in which bytes are stored within a system. What is the byte order used in IP? in x86?
29 Network Byte Order What is byte order (or endianness)? The order in which bytes are stored within a system. What is the byte order used in IP? in x86? IP = big endian byte order, x86 = little endian byte order How do we solve this problem?
30 Network Byte Order What is byte order (or endianness)? The order in which bytes are stored within a system. What is the byte order used in IP? in x86? IP = big endian byte order, x86 = little endian byte order How do we solve this problem? htons(), htonl(), ntohs(), ntohl() (include netinet/in.h )
31 Usage 1 Open source (device or file) pcap open offline pcap open live 2 Set filter pcap lookupnet pcap compile pcap setfilter 3 Set callback function pcap loop 4 Handle incoming packets 5 Close Source pcap close
32 Usage 1 Open source (device or file) pcap open offline pcap open live 2 Set filter pcap lookupnet pcap compile pcap setfilter 3 Set callback function pcap loop 4 Handle incoming packets 5 Close Source pcap close
33 Usage 1 Open source (device or file) pcap open offline pcap open live 2 Set filter pcap lookupnet pcap compile pcap setfilter 3 Set callback function pcap loop 4 Handle incoming packets 5 Close Source pcap close
34 Usage 1 Open source (device or file) pcap open offline pcap open live 2 Set filter pcap lookupnet pcap compile pcap setfilter 3 Set callback function pcap loop 4 Handle incoming packets 5 Close Source pcap close
35 Usage 1 Open source (device or file) pcap open offline pcap open live 2 Set filter pcap lookupnet pcap compile pcap setfilter 3 Set callback function pcap loop 4 Handle incoming packets 5 Close Source pcap close
36 Hints Include pcap.h and compile with -lpcap Protocol header structs already exist for the most part in various headers Read: Hakin9LuisMartinGarcia.pdf Use man page as reference (
37 1 getopt 1 Using-Getopt.html (read) (read) 2 Hakin9LuisMartinGarcia.pdf (read) 3 (ref) 3 Buffer Overflows/Shellcode 1 pdf (read) how-to-create-polymorphic-shellcode (read) 3 (read)
PRINCIPLES OF OPERATING SYSTEMS
PRINCIPLES OF OPERATING SYSTEMS Tutorial-1&2: C Review CPSC 457, Spring 2015 May 20-21, 2015 Department of Computer Science, University of Calgary Connecting to your VM Open a terminal (in your linux machine)
More informationRecitation: Cache Lab & C
15-213 Recitation: Cache Lab & C Jack Biggs 16 Feb 2015 Agenda Buffer Lab! C Exercises! C Conventions! C Debugging! Version Control! Compilation! Buffer Lab... Is due soon. So maybe do it soon Agenda Buffer
More informationRecitation 2/18/2012
15-213 Recitation 2/18/2012 Announcements Buflab due tomorrow Cachelab out tomorrow Any questions? Outline Cachelab preview Useful C functions for cachelab Cachelab Part 1: you have to create a cache simulator
More informationCSc 450/550: Computer Communications and Networks (Summer 2007)
1 2 3 4 5 6 CSc 450/550: Computer Communications and Networks (Summer 2007) Lab Project 3: A Simple Network Traffic Analyzer Spec Out: July 6, 2007 Demo Due: July 25, 2007 Code Due: July 27, 2007 7 8 9
More informationCache Lab Implementation and Blocking
Cache Lab Implementation and Blocking Lou Clark February 24 th, 2014 1 Welcome to the World of Pointers! 2 Class Schedule Cache Lab Due Thursday. Start soon if you haven t yet! Exam Soon! Start doing practice
More informationde facto standard C library Contains a bunch of header files and APIs to do various tasks
CSE333 SECTION 6 GNU C Library de facto standard C library Contains a bunch of header files and APIs to do various tasks Don t need to memorize everything Do need to know what if there s an API that can
More informationCSci 4061 Introduction to Operating Systems. Programs in C/Unix
CSci 4061 Introduction to Operating Systems Programs in C/Unix Today Basic C programming Follow on to recitation Structure of a C program A C program consists of a collection of C functions, structs, arrays,
More informationCMPT 300. Operating Systems. Brief Intro to UNIX and C
CMPT 300 Operating Systems Brief Intro to UNIX and C Outline Welcome Review Questions UNIX basics and Vi editor Using SSH to remote access Lab2(4214) Compiling a C Program Makefile Basic C/C++ programming
More informationA Client-Server Exchange
Socket programming A Client-Server Exchange A server process and one or more client processes Server manages some resource. Server provides service by manipulating resource for clients. 1. Client sends
More informationSoftware Development With Emacs: The Edit-Compile-Debug Cycle
Software Development With Emacs: The Edit-Compile-Debug Cycle Luis Fernandes Department of Electrical and Computer Engineering Ryerson Polytechnic University August 8, 2017 The Emacs editor permits the
More informationOperating Systems and Networks Project 1: Reliable Transport
Spring Term 2016 Operating Systems and Networks Project 1: Reliable Transport Assigned on: 22 April 2016 Due by: 13 May 2016 1 Introduction In this project, your task is to implement a reliable sliding
More informationSocket Programming for TCP and UDP
CSCI4430 Data Communication and Computer Networks Socket Programming for TCP and UDP ZHANG, Mi Jan. 19, 2017 Outline Socket Programming for TCP Introduction What is TCP What is socket TCP socket programming
More informationSocket Programming. #In the name of Allah. Computer Engineering Department Sharif University of Technology CE443- Computer Networks
#In the name of Allah Computer Engineering Department Sharif University of Technology CE443- Computer Networks Socket Programming Acknowledgments: Lecture slides are from Computer networks course thought
More informationCS 640: Computer Networking
CS 640: Computer Networking Yu-Chi Lai Lecture 3 Network Programming Topics Client-server model Sockets interface Socket primitives Example code for echoclient and echoserver Debugging With GDB Programming
More informationReviewing gcc, make, gdb, and Linux Editors 1
Reviewing gcc, make, gdb, and Linux Editors 1 Colin Gordon csgordon@cs.washington.edu University of Washington CSE333 Section 1, 3/31/11 1 Lots of material borrowed from 351/303 slides Colin Gordon (University
More informationDynamic memory allocation
Dynamic memory allocation outline Memory allocation functions Array allocation Matrix allocation Examples Memory allocation functions (#include ) malloc() Allocates a specified number of bytes
More informationRecitation: C Review. TA s 20 Feb 2017
15-213 Recitation: C Review TA s 20 Feb 2017 Agenda Logistics Attack Lab Conclusion C Assessment C Programming Style C Exercise Cache Lab Overview Appendix: Valgrind Clang / LLVM Cache Structure Logistics
More informationCarnegie Mellon. Cache Lab. Recitation 7: Oct 11 th, 2016
1 Cache Lab Recitation 7: Oct 11 th, 2016 2 Outline Memory organization Caching Different types of locality Cache organization Cache lab Part (a) Building Cache Simulator Part (b) Efficient Matrix Transpose
More informationCSCI-243 Exam 2 Review February 22, 2015 Presented by the RIT Computer Science Community
CSCI-43 Exam Review February, 01 Presented by the RIT Computer Science Community http://csc.cs.rit.edu C Preprocessor 1. Consider the following program: 1 # include 3 # ifdef WINDOWS 4 # include
More informationTutorial on Socket Programming
Tutorial on Socket Programming Computer Networks - CSC 458 Department of Computer Science Hao Wang (Slides are mainly from Seyed Hossein Mortazavi, Monia Ghobadi, and Amin Tootoonchian, ) 1 Outline Client-server
More informationEmbedded Software TI2726 B. 3. C tools. Koen Langendoen. Embedded Software Group
Embedded Software 3. C tools TI2726 B Koen Langendoen Embedded Software Group C development cycle 1. [Think] 2. Edit 3. Compile 4. Test 5. Debug 6. Tune UNIX toolbox 2. vi, emacs, gedit 3. gcc, make 4.
More informationIntroduction to OSI model and Network Analyzer :- Introduction to Wireshark
Sungkyunkwan University Introduction to OSI model and Network Analyzer :- Introduction to Wireshark Syed Muhammad Raza s.moh.raza@gmail.com Copyright 2000-2014 Networking Laboratory 1/56 An Overview Internet
More informationExercise Session 2 Systems Programming and Computer Architecture
Systems Group Department of Computer Science ETH Zürich Exercise Session 2 Systems Programming and Computer Architecture Herbstsemester 216 Agenda Linux vs. Windows Working with SVN Exercise 1: bitcount()
More informationJTSK Programming in C II C-Lab II. Lecture 3 & 4
JTSK-320112 Programming in C II C-Lab II Lecture 3 & 4 Xu (Owen) He Spring 2018 Slides modified from Dr. Kinga Lipskoch Planned Syllabus The C Preprocessor Bit Operations Pointers and Arrays (Dynamically
More informationTutorial 1 C Tutorial: Pointers, Strings, Exec
TCSS 422: Operating Systems Institute of Technology Spring 2017 University of Washington Tacoma http://faculty.washington.edu/wlloyd/courses/tcss422 Tutorial 1 C Tutorial: Pointers, Strings, Exec The purpose
More informationGDB and Makefile. Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island
GDB and Makefile Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island GDB Debugging: An Example #include void main() { int i; int result
More informationComputer Networks Prof. Ashok K. Agrawala
CMSC417 Computer Networks Prof. Ashok K. Agrawala 2018Ashok Agrawala September 6, 2018 Fall 2018 Sept 6, 2018 1 Overview Client-server paradigm End systems Clients and servers Sockets Socket abstraction
More informationECE 435 Network Engineering Lecture 2
ECE 435 Network Engineering Lecture 2 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 6 September 2018 Announcements Homework 1 will be posted. Will be on website, will announce
More informationDirect Memory Access. Lecture 2 Pointer Revision Command Line Arguments. What happens when we use pointers. Same again with pictures
Lecture 2 Pointer Revision Command Line Arguments Direct Memory Access C/C++ allows the programmer to obtain the value of the memory address where a variable lives. To do this we need to use a special
More informationUNIX Network Programming. Overview of Socket API Network Programming Basics
UNIX Network Programming Overview of Socket API Network Programming Basics 1 Client-Server Model Client Machine A Network Server Machine B Web browser and server FTP client and server Telnet client and
More informationHigh-performance computing and programming I. Introduction to C programming in *NIX
High-performance computing and programming I Introduction to C programming in *NIX Writing C programs in Unix/Linux Writing code Building code compile with gcc (or cc) link with gcc (or ld) make Environment
More informationECE 435 Network Engineering Lecture 2
ECE 435 Network Engineering Lecture 2 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 31 August 2017 Announcements Homework 1 will be posted. Will be on website, will announce
More informationCSMC 412. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 2. September 15 CMSC417 Set 2 1
CSMC 412 Computer Networks Prof. Ashok K Agrawala 2015 Ashok Agrawala Set 2 September 15 CMSC417 Set 2 1 Contents Client-server paradigm End systems Clients and servers Sockets Socket abstraction Socket
More informationPacket Sniffing and Spoofing
Some of the slides borrowed from the book Computer Security: A Hands on Approach by Wenliang Du Packet Sniffing and Spoofing Chester Rebeiro IIT Madras Shared Networks Every network packet reaches every
More informationNetwork Analyzer :- Introduction to Wireshark
Sungkyunkwan University Network Analyzer :- Introduction to Wireshark Syed M. Raza s.moh.raza@skku.edu H. Choo choo@skku.edu Copyright 2000-2018 Networking Laboratory Networking Laboratory 1/56 An Overview
More informationCS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco
CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level
More informationdisspcap Documentation
disspcap Documentation Release 0.0.1 Daniel Uhricek Dec 12, 2018 Installation 1 Requirements 3 1.1 Build depedencies............................................ 3 1.2 Python depedencies...........................................
More informationDeep C. Multifile projects Getting it running Data types Typecasting Memory management Pointers. CS-343 Operating Systems
Deep C Multifile projects Getting it running Data types Typecasting Memory management Pointers Fabián E. Bustamante, Fall 2004 Multifile Projects Give your project a structure Modularized design Reuse
More informationPacket Sniffing and Spoofing Lab
SEED Labs Packet Sniffing and Spoofing Lab 1 Packet Sniffing and Spoofing Lab Copyright 2006-2016 Wenliang Du, Syracuse University. The development of this document was partially funded by the National
More information2 Compiling a C program
2 Compiling a C program This chapter describes how to compile C programs using gcc. Programs can be compiled from a single source file or from multiple source files, and may use system libraries and header
More informationCosc 242 Assignment. Due: 4pm Friday September 15 th 2017
Cosc 242 Assignment Due: 4pm Friday September 15 th 2017 Group work For this assignment we require you to work in groups of three people. You may select your own group and inform us of your choice via
More information{C} Tools of the Trade
{C} Tools of the Trade make Building Software 3 gcc is our compiler Turns C code into machine code ar is our librarian Gathers machine code files into groups called libraries But calling these over and
More informationNetworked Applications: Sockets. End System: Computer on the Net
Networked Applications: Sockets Topics Programmer s view of the Internet Sockets interface End System: Computer on the Net Internet Also known as a host 2 Page 1 Clients and Servers Client program Running
More information15213 Recitation Section C
15213 Recitation Section C Outline Sept. 9, 2002 Introduction Unix and C Playing with Bits Practice Problems Introducing Myself Try to pronounce my name: My office hour: Wed 2-3pm, WeH 8019 Contact: Email:
More informationHyo-bong Son Computer Systems Laboratory Sungkyunkwan University
Sockets Hyo-bong Son (proshb@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Client-Server Model Most network application is based on the client-server model: A server
More informationHow to learn C? CSCI [4 6]730: A C Refresher or Introduction. Diving In: A Simple C Program 1-hello-word.c
How to learn C? CSCI [4 6]730: A C Refresher or Introduction Hello Word! ~/ctutorial/ In addition to syntax you need to learn: the Tools. the Libraries. And the Documentation (how to access) Practice on
More informationAPI for Auxiliary Processing Unit
API for Auxiliary Processing Unit TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... Misc... API for Auxiliary Processing Unit... 1 Introduction... 3 Release Information 3 Features
More information1.2 The first Internet (i.e., one of the first packet switched networks) was referred to as the ARPANET.
CPSC 360 Spring 2011 Exam 1 Solutions This exam is closed book, closed notes, closed laptops. You are allowed to have one 8.5x11 sheets of paper with whatever you like written on the front and back. You
More informationNETWORK AND SYSTEM PROGRAMMING
NETWORK AND SYSTEM PROGRAMMING LAB 09 Network Byte Ordering, inet_aton, inet_addr, inet_ntoa Functions Objectives: To learn byte order conversion To understand inet-aton, inet_addr, inet_ntoa Functions
More informationStack overflow exploitation
Stack overflow exploitation In order to illustrate how the stack overflow exploitation goes I m going to use the following c code: #include #include #include static void
More informationLab 1: Packet Sniffing and Wireshark
Lab 1: Packet Sniffing and Wireshark Fengwei Zhang Wayne State University Course: Cyber Security Practice 1 Packet Sniffer Packet sniffer is a basic tool for observing network packet exchanges in a computer
More informationBerner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2
Compiling a C program CS Basics 15) Compiling a C prog. Emmanuel Benoist Fall Term 2016-17 Example of a small program Makefile Define Variables Compilation options Conclusion Berner Fachhochschule Haute
More informationCS Basics 15) Compiling a C prog.
CS Basics 15) Compiling a C prog. Emmanuel Benoist Fall Term 2016-17 Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 1 Compiling a C program Example of a small
More informationEL2310 Scientific Programming LAB2: C lab session. Patric Jensfelt, Andrzej Pronobis
EL2310 Scientific Programming LAB2: C lab session Patric Jensfelt, Andrzej Pronobis Chapter 1 Introduction 1.1 Reporting errors As any document, this document is likely to include errors and typos. Please
More informationOral. Total. Dated Sign (2) (5) (3) (2)
R N Oral Total Dated Sign (2) (5) (3) (2) Assignment Group- A_07 Problem Definition Write a program using TCP socket for wired network for following Say Hello to Each other ( For all students) File transfer
More informationComputer Networks A Simple Network Analyzer Decoding Ethernet and IP headers
Computer Networks A Simple Network Analyzer Decoding Ethernet and IP headers Objectives The main objective of this assignment is to gain an understanding of network activities and network packet formats
More informationjust a ((somewhat) safer) dialect.
Intro_to_C Page 1 Intro to C Tuesday, September 07, 2004 5:30 PM C was developed specifically for writing operating systems Low level of abstraction. "Just above machine language." Direct access to the
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationNetworked Applications: Sockets. Goals of Todayʼs Lecture. End System: Computer on the ʻNet. Client-server paradigm End systems Clients and servers
Networked Applications: Sockets CS 375: Computer Networks Spring 2009 Thomas Bressoud 1 Goals of Todayʼs Lecture Client-server paradigm End systems Clients and servers Sockets and Network Programming Socket
More informationCS11 C++ DGC. Spring Lecture 6
CS11 C++ DGC Spring 2006-2007 Lecture 6 The Spread Toolkit A high performance, open source messaging service Provides message-based communication Point-to-point messaging Group communication (aka broadcast
More informationArmide Documentation. Release Kyle Mayes
Armide Documentation Release 0.3.1 Kyle Mayes December 19, 2014 Contents 1 Introduction 1 1.1 Features.................................................. 1 1.2 License..................................................
More informationCS 392/681 Lab 6 Experiencing Buffer Overflows and Format String Vulnerabilities
CS 392/681 Lab 6 Experiencing Buffer Overflows and Format String Vulnerabilities Given: November 13, 2003 Due: November 20, 2003 1 Motivation Buffer overflows and format string vulnerabilities are widespread
More informationCSE 124 Discussion (10/3) C/C++ Basics
CSE 124 Discussion (10/3) C/C++ Basics Topics - main() function - Compiling with gcc/makefile - Primitives - Structs/Enums - Function calls/loops - C++ Classes/stdtl - Pointers/Arrays - Memory allocation/freeing
More informationAssignment 5: Priority Queue
Assignment 5: Priority Queue Topic(s): Priority Queues, Code Reusability, More Advanced Makefiles, Debugging, Testing Date assigned: Wednesday, October 18, 2017 Date due: Wednesday, November 1, 2017, 9:15
More informationSystems Programming/ C and UNIX
Systems Programming/ C and UNIX Alice E. Fischer September 6, 2017 Alice E. Fischer Systems Programming Lecture 2... 1/28 September 6, 2017 1 / 28 Outline 1 Booting into Linux 2 The Command Shell 3 Defining
More informationLab 0. Yvan Petillot. Networks - Lab 0 1
Lab 0 Yvan Petillot Networks - Lab 0 1 What You Will Do In This Lab. The purpose of this lab is to help you become familiar with the UNIX/LINUX on the lab network. This means being able to do editing,
More informationProject 1: A Web Server Called Liso
Project 1: A Web Server Called Liso 15-441/641 Computer Networks Kenneth Yang Viswesh Narayanan "What happens when you type google.com into your browser's address box and press enter?"... Establish a TCP
More informationCNT5505 Programming Assignment No. 4: Internet Packet Analyzer (This is an individual assignment. It must be implemented in C++ or C)
. CNT5505 Programming Assignment No. 4: Internet Packet Analyzer (This is an individual assignment. It must be implemented in C++ or C) PURPOSE Experience with packet analyzing and Internet packet formats.
More informationExercise Session 6 Computer Architecture and Systems Programming
Systems Group Department of Computer Science ETH Zürich Exercise Session 6 Computer Architecture and Systems Programming Herbstsemester 2016 Agenda GDB Outlook on assignment 6 GDB The GNU Debugger 3 Debugging..
More informationCS244A Review Session
CS244A Review Session Building your own Router Assignment#2 Friday, January 25, 2008 Clay Collier (based on slide by Martin Casado) Assignment Overview You build a virtual network topology You write a
More information82V391x / 8V893xx WAN PLL Device Families Device Driver User s Guide
82V391x / 8V893xx WAN PLL Device Families Device Driver Version 1.2 April 29, 2014 Table of Contents 1. Introduction... 1 2. Software Architecture... 2 2.1. Overview... 2 2.2. Hardware Abstraction Layer
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2014 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Project #1 Starts in one week Is your Linux environment all ready? Bring your laptop Work time after quick
More informationPractical Exercises in Computer Networks
Practical Exercises in Computer Networks Programmatic access to the datalink layer 2015-18, José María Foces Morán Computer networks are complex systems. Abstractions play a central role in the conceptualization
More informationCS480. Compilers Eclipse, SVN, Makefile examples
CS480 Compilers Eclipse, SVN, Makefile examples January 26, 2015 New Project New Project C/C++ Project Create a New C Project Choose Makefile Project EmptyProject Toolchain: Linux GCC Next Advanced C/C++
More informationPeer to Peer Instant Messaging
Peer to Peer Instant Messaging Assignment in Data communication I, Department of Information Technology, Uppsala University. Overview In this programming exercise you will implement a peer to peer instant
More informationPointers & Dynamic Memory Review C Pointers Introduce C++ Pointers
Pointers & Dynamic Memory Review C Pointers Introduce C++ Pointers Data Abstractions CSCI-2320 Dr. Tom Hicks Computer Science Department c http://carme.cs.trinity.edu/ thicks/2320/schedule.html http://carme.cs.trinity.edu/thicks/2320/schedule.html
More informationMakefiles are a simple way to organize code compilation. Using a makefile it is possible to compile several source files to produce an executable;
Makefile Makefiles are a simple way to organize code compilation. Using a makefile it is possible to compile several source files to produce an executable; Source (.cc) and header (.h) files can be placed
More informationUNIX Sockets. COS 461 Precept 1
UNIX Sockets COS 461 Precept 1 Socket and Process Communica;on application layer User Process Socket transport layer (TCP/UDP) OS network stack network layer (IP) link layer (e.g. ethernet) Internet Internet
More informationNETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science
NETWORK PROGRAMMING CSC- 341 25 Instructor: Junaid Tariq, Lecturer, Department of Computer Science 26 9 Lecture Sockets as means for inter-process communication (IPC) application layer Client Process Socket
More informationindependent compilation and Make
independent compilation and Make Geoffrey Brown David S. Wise Chris Haynes Bryce Himebaugh Computer Structures Fall 2013 Independent Compilation As a matter of style, source code files should rarely be
More informationScientific Programming in C IX. Debugging
Scientific Programming in C IX. Debugging Susi Lehtola 13 November 2012 Debugging Quite often you spend an hour to write a code, and then two hours debugging why it doesn t work properly. Scientific Programming
More informationExternal Data Representation (XDR)
External Data Representation (XDR) Prof. Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Taipei, TAIWAN NTUT, TAIWAN 1 Introduction This chapter examines
More informationSocket Programming 2007/03/28
Socket Programming 2007/03/28 Reference W. Richard Stevens, Unix Network Programming 2/e Volume 1,1998 James F. Kurose and Keith W. Ross, "Computer Networks: A Top-Down Approach Featuring the Internet
More informationCAAM 420 Daily Note. Scriber: Qijia Jiang. Date: Oct.16. Project 3 Due Wed 23.Oct. Two parts: debug code and library exercise.
CAAM 420 Daily Note Scriber: Qijia Jiang Date: Oct.16 1 Announcement Project 3 Due Wed 23.Oct. Two parts: debug code and library exercise. 2 Make Convention Make syntax for library directories and library
More informationCS2141 Software Development using C/C++ Debugging
CS2141 Software Development using C/C++ Debugging Debugging Tips Examine the most recent change Error likely in, or exposed by, code most recently added Developing code incrementally and testing along
More informationProcess Concept: views of a process Process Scheduling CSCI 6730/ 4730 Operating Systems
Chapter 3: Processes: Outline Process Concept: views of a process Process Scheduling CSCI 6730/ 4730 Operating Systems Operations on Processes Cooperating Processes Inter Process Communication (IPC) RPC:
More informationCS 103 Chroma Key. 1 Introduction. 2 What you will learn. 3 Background Information and Notes
CS 103 Chroma Key 1 Introduction In this assignment you will perform a green-screen or chroma key operation. You will be given an input image (e.g. Stephen Colbert) with a green background. First, you
More informationLaboratory 1 Semester 1 11/12
CS2106 National University of Singapore School of Computing Laboratory 1 Semester 1 11/12 MATRICULATION NUMBER: In this lab exercise, you will get familiarize with some basic UNIX commands, editing and
More informationCS11 Advanced C++ Fall Lecture 4
CS11 Advanced C++ Fall 2006-2007 Lecture 4 Today s Topics Using make to automate build tasks Using doxygen to generate API docs Build-Automation Standard development cycle: Write more code Compile Test
More informationDAY 4. CS3600, Northeastern University. Alan Mislove
C BOOTCAMP DAY 4 CS3600, Northeastern University Slides adapted from Anandha Gopalan s CS132 course at Univ. of Pittsburgh and the CS240 course at Purdue C Debugging 2 Debugging with gdb GDB is a debugger
More informationCSE 333 SECTION 3. POSIX I/O Functions
CSE 333 SECTION 3 POSIX I/O Functions Administrivia Questions (?) HW1 Due Tonight HW2 Due Thursday, July 19 th Midterm on Monday, July 23 th 10:50-11:50 in TBD (And regular exercises in between) POSIX
More informationSIMPLE ROUTER PROJECT 2. - Balachander Padmanabha - TA CSE 123 (FALL 2017) - OH (Wed 9-11am B240A)
SIMPLE ROUTER PROJECT 2 - Balachander Padmanabha - TA CSE 123 (FALL 2017) - OH (Wed 9-11am B240A) MININET It is a network emulation orchestration system which runs a collection of end-hosts, switches,
More informationCS 3516: Advanced Computer Networks
Welcome to CS 3516: Advanced Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: Fuller 320 Fall 2017 A-term 1 Some slides are originally from the course materials of the textbook
More information2/13/2014. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints
Rensselaer Polytechnic Institute CSCI-4220 Network Programming David Goldschmidt, Ph.D. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints All
More informationProgramming in C S c o t t S c h r e m m e r
Programming in C S c o t t S c h r e m m e r Outline Introduction Data Types and structures Pointers, arrays and dynamic memory allocation Functions and prototypes input/output comparisons compiling/makefiles/debugging
More informationMaemo Diablo Source code for the LibOSSO RPC examples Training Material
Maemo Diablo Source code for the LibOSSO RPC examples Training Material February 9, 2009 Contents 1 Source code for the LibOSSO RPC examples 2 1.1 libosso-example-sync/libosso-rpc-sync.c..............
More informationGetting Familiar with CCN
Getting Familiar with CCN 1 Project Goal In this project you will experiment with simple client/server programs in CCN to familiarize yourselves with the CCN basics. You will compile, run, and answer the
More informationDistributed: Monday, Nov. 30, Due: Monday, Dec. 7 at midnight
cs281: Introduction to Computer Systems Project Lab: The Cachelab Simulating a Cache Controler Distributed: Monday, Nov. 30, Due: Monday, Dec. 7 at midnight Introduction This assignment will help you understand
More informationCreating a Shell or Command Interperter Program CSCI411 Lab
Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell
More information