GithubHelp home page GithubHelp logo

mrrraph / kathara-panda Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 5.53 MB

Network Emulation of 4 sub networks, 3 routers, 1 DNS Server, 1 Java Web Server, 1 Static Web Server, 1 Client

HTML 51.24% CSS 1.46% DIGITAL Command Language 7.42% Shell 5.41% Java 34.48%
kathara network networking static-web-server java-web-server client router subnetwork emulation dns-server

kathara-panda's Introduction

Kathara Panda

Authors

Raphaël Dray
Clara Nacache
Thierry Khamphousone


Introduction

Kathara is a network emulation system based on Docker where each device is emulated by an unique container which is interconnected by virtual L2 LANs, and each container can run a Docker image. Kathara is helpful to develop new network protocols within a testing network sandbox environment. It is a NetKit implementation.


Domain names

  • DNS name: panda-crew.com
  • SOA: giga.panda-crew.com (192.168.100.100)
  • Static Web Server name: sws.panda-crew.com (10.20.30.100)
  • Java Web Server name: jws.panda-crew.com (172.16.0.100)
  • Alias on Java Web Server: www.panda-crew.com (172.16.0.100)


How does it work?

Run Kathara's clusters

Requirements:


Important:

Kathara needs Docker to be running to start computers. So you must run Docker before Kathara lab.

#Start the project by looking at the lab.conf definitions
> kathara lstart

#Stop all computers started from the lab.conf file
> kathara wipe

Project description

Network Schema


Network Configuration


Configuration explanations

  • router1: Communication between subnet A and subnet C
  • router2: Communication between subnet D and subnet B
  • router3: Communication between subnet C and subnet B
  • Client: Get the HTML from the Java Web Server through Domain name
  • DNS Server: Define domain names and aliases
  • Java Web Server: Uses as a Proxy for getting the HTML from the Static Web Server
  • Static Web Server: Serves HTML pages

Devices emulated by Docker containers



Lab testing

> traceroute www.panda-crew.com     
traceroute to www.panda-crew.com (172.16.0.100), 30 hops max, 60 byte packets
 1  192.168.0.254 (192.168.0.254)  0.105 ms  0.027 ms  0.014 ms
 2  10.20.30.254 (10.20.30.254)  0.036 ms  0.026 ms  0.026 ms
 3  jws.panda-crew.com (172.16.0.100)  0.051 ms  0.040 ms  0.040 ms

> links http://www.panda-crew.com:1111


DNS server configuration checking

#panda-crew.com
> dig panda-crew.com

; <<>> DiG 9.10.3-P4-Debian <<>> panda-crew.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17539
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;panda-crew.com.			IN	A

;; AUTHORITY SECTION:
panda-crew.com.		604800	IN	SOA	giga.panda-crew.com. admin.panda-crew.com. 3 604800 86400 2419200 604800

;; Query time: 0 msec
;; SERVER: 192.168.100.100#53(192.168.100.100)
;; WHEN: Mon Jan 04 21:09:16 UTC 2021
;; MSG SIZE  rcvd: 90


#java web server
> dig jws.panda-crew.com

; <<>> DiG 9.10.3-P4-Debian <<>> jws.panda-crew.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55204
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;jws.panda-crew.com.		IN	A

;; ANSWER SECTION:
jws.panda-crew.com.	604800	IN	A	172.16.0.100

;; AUTHORITY SECTION:
panda-crew.com.		604800	IN	NS	giga.panda-crew.com.

;; ADDITIONAL SECTION:
giga.panda-crew.com.	604800	IN	A	192.168.100.100

;; Query time: 0 msec
;; SERVER: 192.168.100.100#53(192.168.100.100)
;; WHEN: Mon Jan 04 21:09:39 UTC 2021
;; MSG SIZE  rcvd: 98


#static web server
> dig sws.panda-crew.com

; <<>> DiG 9.10.3-P4-Debian <<>> sws.panda-crew.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7321
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;sws.panda-crew.com.		IN	A

;; ANSWER SECTION:
sws.panda-crew.com.	604800	IN	A	10.20.30.100

;; AUTHORITY SECTION:
panda-crew.com.		604800	IN	NS	giga.panda-crew.com.

;; ADDITIONAL SECTION:
giga.panda-crew.com.	604800	IN	A	192.168.100.100

;; Query time: 0 msec
;; SERVER: 192.168.100.100#53(192.168.100.100)
;; WHEN: Mon Jan 04 21:09:59 UTC 2021
;; MSG SIZE  rcvd: 98

Apache file retrieving

> wget sws.panda-crew.com

--2021-01-04 21:12:12--  http://sws.panda-crew.com/
Resolving sws.panda-crew.com (sws.panda-crew.com)... 10.20.30.100
Connecting to sws.panda-crew.com (sws.panda-crew.com)|10.20.30.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3482 (3.4K) [text/html]
Saving to: 'index.html'

index.html             100%[==========================>]   3.40K  --.-KB/s    in 0s      

2021-01-04 21:12:12 (396 MB/s) - 'index.html' saved [3482/3482]

kathara-panda's People

Contributors

clara1245 avatar mrrraph avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.