diff --git a/GIT-VIRL-HS-Fulda/Advanced Computer Networks (Master AI)/advcompnet-lab3-sdn-lxc.virl b/GIT-VIRL-HS-Fulda/Advanced Computer Networks (Master AI)/advcompnet-lab3-sdn-lxc.virl index 7c2141784d04dfff038a9df4a51096b0f171d983..7ebacf805a8b26394b5d6318ee4248d4372a9b15 100644 --- a/GIT-VIRL-HS-Fulda/Advanced Computer Networks (Master AI)/advcompnet-lab3-sdn-lxc.virl +++ b/GIT-VIRL-HS-Fulda/Advanced Computer Networks (Master AI)/advcompnet-lab3-sdn-lxc.virl @@ -220,8 +220,16 @@ write_files:
 owner: root:root
 permissions: '0755'
 content: |-
 - #!/bin/sh -e
 - mkdir /tmp/d
ebs
 + #!/bin/bash + + # sudo check + if [ ! $UID -eq 0 ] ; then + echo "Root-Berechtigungen erforderlich. Bitte sudo benutzen." + exit -1 + fi + + rm -rf /tmp/debs + mkdir /tmp/debs
 cd /tmp/debs
 wget http://mmnet.informatik.hs-fulda.de/opendaylight-dep-debs.tar.gz
 diff --git a/GIT-VIRL-HS-Fulda/Advanced Computer Networks (Master AI)/advcompnet-lab3-sdn.virl b/GIT-VIRL-HS-Fulda/Advanced Computer Networks (Master AI)/advcompnet-lab3-sdn.virl deleted file mode 100644 index 4677cdbaa62e0452840b93cf952fc05ee7d17a33..0000000000000000000000000000000000000000 --- a/GIT-VIRL-HS-Fulda/Advanced Computer Networks (Master AI)/advcompnet-lab3-sdn.virl +++ /dev/null @@ -1,293 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<topology xmlns="http://www.cisco.com/VIRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="0.9" xsi:schemaLocation="http://www.cisco.com/VIRL https://raw.github.com/CiscoVIRL/schema/v0.9/virl.xsd"> - <extensions> - <entry key="management_network" type="String">exclusive</entry> - </extensions> - <node name="client" type="SIMPLE" subtype="server" location="387,214" ipv4="10.10.20.10"> - <extensions> - <entry key="config" type="String">#cloud-config
 -bootcmd:
 -- ln -s -t /etc/rc.d /etc/rc.local
 -hostname: client
 -manage_etc_hosts: true
 -runcmd:
 -- start ttyS0
 -- systemctl start getty@ttyS0.service
 -- systemctl start rc-local
 -- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
 -- echo "UseDNS no" >> /etc/ssh/sshd_config
 -- service ssh restart
 -- service sshd restart
 -users:
 -- default
 -- gecos: User configured by VIRL Configuration Engine 0.15.8
 - lock-passwd: false
 - name: cisco
 - plain-text-passwd: cisco
 - shell: /bin/bash
 - ssh-authorized-keys:
 - - VIRL-USER-SSH-PUBLIC-KEY
 - sudo: ALL=(ALL) ALL
 -packages:
 -- joe
 -- iperf
 -write_files:
 -- path: /etc/init/ttyS0.conf
 - owner: root:root
 - content: |
 - # ttyS0 - getty
 - # This service maintains a getty on ttyS0 from the point the system is
 - # started until it is shut down again.
 - start on stopped rc or RUNLEVEL=[12345]
 - stop on runlevel [!12345]
 - respawn
 - exec /sbin/getty -L 115200 ttyS0 vt102
 - permissions: '0644'
 -- path: /etc/systemd/system/dhclient@.service
 - content: |
 - [Unit]
 - Description=Run dhclient on %i interface
 - After=network.target
 - [Service]
 - Type=oneshot
 - ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
 - RemainAfterExit=yes
 - owner: root:root
 - permissions: '0644'
 -- path: /etc/rc.local
 - owner: root:root
 - permissions: '0755'
 - content: |-
 - #!/bin/sh -e
 - ifconfig eth1 up 10.10.20.10 netmask 255.255.255.0
 - exit 0
 -</entry> - </extensions> - <interface id="0" name="eth1" ipv4="10.0.0.9" netPrefixLenV4="30"/> - </node> - <node name="server" type="SIMPLE" subtype="server" location="673,214" ipv4="10.10.20.20"> - <extensions> - <entry key="config" type="String">#cloud-config
 -bootcmd:
 -- ln -s -t /etc/rc.d /etc/rc.local
 -hostname: server
 -manage_etc_hosts: true
 -runcmd:
 -- start ttyS0
 -- systemctl start getty@ttyS0.service
 -- systemctl start rc-local
 -- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
 -- echo "UseDNS no" >> /etc/ssh/sshd_config
 -- service ssh restart
 -- service sshd restart
 -users:
 -- default
 -- gecos: User configured by VIRL Configuration Engine 0.15.8
 - lock-passwd: false
 - name: cisco
 - plain-text-passwd: cisco
 - shell: /bin/bash
 - ssh-authorized-keys:
 - - VIRL-USER-SSH-PUBLIC-KEY
 - sudo: ALL=(ALL) ALL
 -packages:
 -- joe
 -- iperf
 -- apache2
 -write_files:
 -- path: /etc/init/ttyS0.conf
 - owner: root:root
 - content: |
 - # ttyS0 - getty
 - # This service maintains a getty on ttyS0 from the point the system is
 - # started until it is shut down again.
 - start on stopped rc or RUNLEVEL=[12345]
 - stop on runlevel [!12345]
 - respawn
 - exec /sbin/getty -L 115200 ttyS0 vt102
 - permissions: '0644'
 -- path: /etc/systemd/system/dhclient@.service
 - content: |
 - [Unit]
 - Description=Run dhclient on %i interface
 - After=network.target
 - [Service]
 - Type=oneshot
 - ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
 - RemainAfterExit=yes
 - owner: root:root
 - permissions: '0644'
 -- path: /etc/rc.local
 - owner: root:root
 - permissions: '0755'
 - content: |-
 - #!/bin/sh -e
 - ifconfig eth1 up 10.10.20.20 netmask 255.255.255.0
 - exit 0
 -</entry> - </extensions> - <interface id="0" name="eth1" ipv4="10.0.0.5" netPrefixLenV4="30"/> - </node> - <node name="controller" type="SIMPLE" subtype="server" location="506,54" vmFlavor="server-medium [9094074e-b640-4fd7-b296-efa4ddaca4c5]" ipv4="10.10.10.254"> - <extensions> - <entry key="config" type="String">#cloud-config
 -bootcmd:
 -- ln -s -t /etc/rc.d /etc/rc.local
 -hostname: controller
 -manage_etc_hosts: true
 -runcmd:
 -- start ttyS0
 -- systemctl start getty@ttyS0.service
 -- systemctl start rc-local
 -- sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config
 -- echo "UseDNS no" >> /etc/ssh/sshd_config
 -- service ssh restart
 -- service sshd restart
 -- /tmp/install-odl
 -users:
 -- default
 -- gecos: User configured by VIRL Configuration Engine 0.15.8
 - lock-passwd: false
 - name: cisco
 - plain-text-passwd: cisco
 - shell: /bin/bash
 - ssh-authorized-keys:
 - - VIRL-USER-SSH-PUBLIC-KEY
 - sudo: ALL=(ALL) ALL
 -write_files:
 -- path: /etc/init/ttyS0.conf
 - owner: root:root
 - content: |
 - # ttyS0 - getty
 - # This service maintains a getty on ttyS0 from the point the system is
 - # started until it is shut down again.
 - start on stopped rc or RUNLEVEL=[12345]
 - stop on runlevel [!12345]
 - respawn
 - exec /sbin/getty -L 115200 ttyS0 vt102
 - permissions: '0644'
 -- path: /etc/systemd/system/dhclient@.service
 - content: |
 - [Unit]
 - Description=Run dhclient on %i interface
 - After=network.target
 - [Service]
 - Type=oneshot
 - ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease
 - RemainAfterExit=yes
 - owner: root:root
 - permissions: '0644'
 -- path: /etc/rc.local
 - owner: root:root
 - permissions: '0755'
 - content: |-
 - #!/bin/sh -e
 - ifconfig eth1 up 10.10.10.254 netmask 255.255.255.0
 - ifconfig eth2 up
 - dhclient eth2
 - # set default gateway to VIRL host in flat1 
 - route del -net default
 - route add -net default gw 172.16.1.254
 - # enable routing and NAT for 10.10.0.0/16
 - sysctl -w net.ipv4.ip_forward=1
 - iptables -A POSTROUTING -t nat -s 10.10.0.0/16 -o eth2 -j MASQUERADE
 - exit 0
 -- path: /tmp/install-odl
 - owner: root:root
 - permissions: '0755'
 - content: |-
 - #!/bin/sh -e
 - apt-get update
 - apt-get install -y joe iperf unzip openjdk-7-jre-headless
 - #mkdir /tmp/d
ebs
 - - #cd /tmp/debs
 - #wget http://mmnet.informatik.hs-fulda.de/opendaylight-dep-debs.tar.gz
 - #tar zxvf opendaylight-dep-debs.tar.gz
 - #dpkg -i *.deb
 - export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre/
 - echo "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre/" >/etc/profile.d/Z99-java-home.sh
 - # setup opendaylight controller
 - #################
 - # Hydrogen
 - #################
 - cd /tmp
 - wget http://mmnet.informatik.hs-fulda.de/distributions-base-0.1.1-osgipackage.zip
 - unzip distributions-base-0.1.1-osgipackage.zip
 - #################
 - # Lithium
 - #################
 - #wget http://mmnet.informatik.hs-fulda.de/distribution-karaf-0.3.0-Lithium.tar.gz
 - #tar zxf distribution-karaf-0.3.0-Lithium.tar.gz
 - #echo -e "feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-core odl-dlux-node odl-dlux-yangui\nlogout" | ./distribution-karaf-0.3.0-Lithium/bin/karaf
 - #./distribution-karaf-0.3.0-Lithium/bin/start
 - #
 - #################
 - # LXDE
 - #################
 - # apt-get -y install midori lxde wireshark
 - exit 0</entry> - </extensions> - <interface id="0" name="eth1" ipv4="10.0.0.13" netPrefixLenV4="30"/> - <interface id="1" name="eth2"/> - </node> - <node name="veos-1" type="SIMPLE" subtype="vEOS" location="514,148" ipv4="10.10.10.253"> - <extensions> - <entry key="Auto-generate config" type="Boolean">false</entry> - <entry key="config" type="String">! Command: show running-config
 -! device: vEOS-1 (vEOS, EOS-4.14.2F)
 -!
 -! boot system flash:/vEOS.swi
 -!
 -! AdvCompNet Lab 2 SDN
 -!
 -transceiver qsfp default-mode 4x10G
 -!
 -hostname veos-1
 -!
 -openflow
 - description SDN-OpenFlow-Lab
 - controller tcp:10.10.10.254:6633
 - bind interface Ethernet1
 - bind interface Ethernet2
 -!
 -spanning-tree mode mstp
 -!
 -no aaa root
 -!
 -username admin privilege 15 role network-admin secret 5 $1$S4W0XejC$69vFakMKc/k9N.nrrTiIY/
 -username cisco privilege 15 role network-admin secret 5 $1$rQS0W9wP$ZUzVG2XoGCCZCJopFp1aV/
 -!
 -vlan 10
 -!
 -interface Ethernet1
 -!
 -interface Ethernet2
 -!
 -interface Ethernet3
 - switchport access vlan 10
 -!
 -interface Management1
 - ! ip of ma1 configured on launch
 -!
 -interface Vlan10
 - ip address 10.10.10.253/24
 -!
 -no ip routing
 -ip route 0.0.0.0 0.0.0.0 10.10.10.254
 -!
 -!
 -end</entry> - </extensions> - <interface id="0" name="Ethernet1" ipv4="10.0.0.10" netPrefixLenV4="30"/> - <interface id="1" name="Ethernet2" ipv4="10.0.0.6" netPrefixLenV4="30"/> - <interface id="2" name="Ethernet3" ipv4="10.0.0.14" netPrefixLenV4="30"/> - </node> - <node name="flat-1" type="ASSET" subtype="FLAT" location="411,38"> - <interface id="0" name="link0"/> - </node> - <connection dst="/virl:topology/virl:node[1]/virl:interface[1]" src="/virl:topology/virl:node[4]/virl:interface[1]"/> - <connection dst="/virl:topology/virl:node[2]/virl:interface[1]" src="/virl:topology/virl:node[4]/virl:interface[2]"/> - <connection dst="/virl:topology/virl:node[3]/virl:interface[1]" src="/virl:topology/virl:node[4]/virl:interface[3]"/> - <connection dst="/virl:topology/virl:node[5]/virl:interface[1]" src="/virl:topology/virl:node[3]/virl:interface[2]"/> -</topology> diff --git a/GIT-VIRL-HS-Fulda/Kommunikationsnetze und -protokolle (Bachelor AI)/kommprot-lab3-clientserverapp.virl b/GIT-VIRL-HS-Fulda/Kommunikationsnetze und -protokolle (Bachelor AI)/kommprot-lab3-clientserverapp.virl index 53ad7fb7a1505a7597aaa0f4842275ec9dbe0914..43c82f8d46b9c5392357cda33f17f3429b199ed0 100644 --- a/GIT-VIRL-HS-Fulda/Kommunikationsnetze und -protokolle (Bachelor AI)/kommprot-lab3-clientserverapp.virl +++ b/GIT-VIRL-HS-Fulda/Kommunikationsnetze und -protokolle (Bachelor AI)/kommprot-lab3-clientserverapp.virl @@ -9,7 +9,7 @@ <entry key="config" type="String">#cloud-config
 bootcmd:
 - ln -s -t /etc/rc.d /etc/rc.local
 -hostname: client
 +hostname: client1
 manage_etc_hosts: true
 runcmd:
 - systemctl start rc-local
 @@ -46,65 +46,88 @@ write_files:
 #!/bin/sh
 ifconfig eth1 up 10.0.0.20 netmask 255.255.0.0
 route add -host 192.168.0.1 gw 10.0.0.1 dev eth1
 - route add -net 10.0.0.0/16 gw 10.0.0.1 dev eth1
 route add default gw 10.0.0.1
 echo "nameserver 8.8.8.8" >/etc/resolv.conf
 + chown -R cisco:cisco /home/cisco
 exit 0
 -- path: /home/cisco/udpserver.py
 - owner: cisco:cisco
 - permissions: '0755'
 - content: |-
 +- path: /home/cisco/udp-client.py
 + content: |
 #!/usr/bin/python
 from socket import *
 -
 + 
 + # Server-Adresse und Port
 + serverName = "localhost"
 + serverPort = 17000
 + 
 + # Client Socket (IP, UDP) oeffnen
 + clientSocket = socket(AF_INET, SOCK_DGRAM)
 + 
 + # Nachricht vom Benutzer erfragen und versenden
 + message = raw_input("UDP Nachricht in Kleinbuchstaben eingeben:")
 + clientSocket.sendto(message,(serverName, serverPort))
 + 
 + # Antwort des Server aus Socket lesen und ausgeben
 + modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
 + print "Antwort des Servers: ", modifiedMessage
 + raw_input("Fertig...")
 + 
 + # Verbindung schliessen
 + clientSocket.close()
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/udp-server.py
 + content: |
 + #!/usr/bin/python
 + from socket import *
 + 
 # UDP Port auf dem der Server lauschen soll...
 serverPort = 17000
 -
 + 
 # Server-Socket als Internet (INET) UDP (DGRAM) erzeugen und an o.g. Port binden
 serverSocket = socket(AF_INET, SOCK_DGRAM)
 serverSocket.bind(("", serverPort))
 print "UDP Server ist bereit fuer den Empfang von Daten..."
 -
 + 
 # Endlosschleife
 while 1:
 - # Eingehende Nachrichten von Clients empfangen
 - message, clientAddress = serverSocket.recvfrom(2048)
 - # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den
 - # Client zuruecksenden
 - modifiedMessage = message.upper()
 - serverSocket.sendto(modifiedMessage, clientAddress)
 -- path: /home/cisco/udpclient.py
 - owner: cisco:cisco
 - permissions: '0755'
 - content: |-
 + # Eingehende Nachrichten von Clients empfangen
 + message, clientAddress = serverSocket.recvfrom(2048)
 + # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den
 + # Client zuruecksenden
 + modifiedMessage = message.upper()
 + serverSocket.sendto(modifiedMessage, clientAddress)
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/tcp-client.py
 + content: |
 #!/usr/bin/python
 from socket import *
 -
 - # Server-Adresse und Port
 + 
 + # Serveradresse und TCP Port auf den der Server hoert...
 serverName = "localhost"
 serverPort = 17000
 -
 - # Client Socket (IP, UDP) oeffnen
 - clientSocket = socket(AF_INET, SOCK_DGRAM)
 -
 - # Nachricht vom Benutzer erfragen und versenden
 - message = raw_input("UDP Nachricht in Kleinbuchstaben eingeben:")
 - clientSocket.sendto(message,(serverName, serverPort))
 -
 - # Antwort des Server aus Socket lesen und ausgeben
 - modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
 - print "Antwort des Servers: ", modifiedMessage
 + # Socket fuer IP (INET) und TCP (STREAM) konfigurieren
 + clientSocket = socket(AF_INET, SOCK_STREAM)
 + clientSocket.connect((serverName,serverPort))
 + 
 + # Nachricht vom Benutzer abfragen und an den Server senden
 + sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:")
 + clientSocket.send(sentence)
 + 
 + # Antwort des Servers ausgeben
 + modifiedSentence = clientSocket.recv(1024)
 + print "Antwort des Servers:", modifiedSentence
 raw_input("Fertig...")
 -
 + 
 # Verbindung schliessen
 clientSocket.close()
 -- path: /home/cisco/tcpserver.py
 - owner: cisco:cisco
 - permissions: '0755'
 - content: |-
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/tcp-server.py
 + content: |
 #!/usr/bin/python
 from socket import *
 -
 + 
 # TCP Port auf dem der Server lauschen soll...
 serverPort = 17000
 # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden
 @@ -112,43 +135,73 @@ write_files:
 serverSocket.bind(("",serverPort))
 serverSocket.listen(1)
 print "TCP Server ist bereit fuer den Empfang von Daten..."
 -
 + 
 # Endlosschleife
 while 1:
 - # Eingehende Nachrichten akzeptieren und von Clients empfangen
 - connectionSocket, addr = serverSocket.accept()
 - sentence = connectionSocket.recv(1024)
 - # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den
 - # Client zuruecksenden
 - capitalizedSentence = sentence.upper()
 - connectionSocket.send(capitalizedSentence)
 - # Verbindung schliessen
 - connectionSocket.close()
 -- path: /home/cisco/tcpclient.py
 - owner: cisco:cisco
 - permissions: '0755'
 - content: |-
 + # Eingehende Nachrichten akzeptieren und von Clients empfangen
 + connectionSocket, addr = serverSocket.accept()
 + sentence = connectionSocket.recv(1024)
 + # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den
 + # Client zuruecksenden
 + capitalizedSentence = sentence.upper()
 + connectionSocket.send(capitalizedSentence)
 + # Verbindung schliessen
 + connectionSocket.close()
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/tcpdownload-client.py
 + content: |
 #!/usr/bin/python
 from socket import *
 -
 + import time
 + 
 # Serveradresse und TCP Port auf den der Server hoert...
 - serverName = "localhost"
 + serverName = "10.0.0.30"
 serverPort = 17000
 # Socket fuer IP (INET) und TCP (STREAM) konfigurieren
 clientSocket = socket(AF_INET, SOCK_STREAM)
 clientSocket.connect((serverName,serverPort))
 -
 - # Nachricht vom Benutzer abfragen und an den Server senden
 - sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:")
 - clientSocket.send(sentence)
 -
 + 
 # Antwort des Servers ausgeben
 - modifiedSentence = clientSocket.recv(1024)
 - print "Antwort des Servers:", modifiedSentence
 + length = 0
 + start = time.time()
 + while 1:
 + data = clientSocket.recv(1024)
 + if not data:
 + break
 + length += len(data)
 + elapsed = time.time() - start
 + print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)"
 raw_input("Fertig...")
 -
 + 
 # Verbindung schliessen
 clientSocket.close()
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/tcpdownload-server.py
 + content: |
 + #!/usr/bin/python
 + from socket import *
 + 
 + # TCP Port auf dem der Server lauschen soll...
 + serverPort = 17000
 + # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden
 + serverSocket = socket(AF_INET,SOCK_STREAM)
 + serverSocket.bind(("",serverPort))
 + serverSocket.listen(1)
 + downloadSize = raw_input("Download-Groesse: ")
 + print "TCP Server ist bereit fuer den Download..."
 + 
 + # Endlosschleife
 + while 1:
 + # Eingehende Nachrichten akzeptieren und von Clients empfangen
 + connectionSocket, addr = serverSocket.accept()
 + # Bytes an Client zuruecksenden
 + connectionSocket.send("a" * int(downloadSize))
 + # Verbindung schliessen
 + connectionSocket.close()
 + owner: root:root
 + permissions: '0777'
 </entry> </extensions> <interface id="0" name="eth1" ipv4="10.0.0.2" netPrefixLenV4="16"/> @@ -158,7 +211,7 @@ write_files:
 <entry key="config" type="String">#cloud-config
 bootcmd:
 - ln -s -t /etc/rc.d /etc/rc.local
 -hostname: server
 +hostname: server1
 manage_etc_hosts: true
 runcmd:
 - systemctl start rc-local
 @@ -195,20 +248,225 @@ write_files:
 #!/bin/sh
 ifconfig eth1 up 10.0.0.30 netmask 255.255.0.0
 route add -host 192.168.0.1 gw 10.0.0.1 dev eth1
 - route add -net 10.0.0.0/16 gw 10.0.0.1 dev eth1
 route add default gw 10.0.0.1
 echo "nameserver 8.8.8.8" >/etc/resolv.conf
 + chown -R cisco:cisco /home/cisco
 exit 0
 +- path: /home/cisco/udpclient.py
 + content: |
 + #!/usr/bin/python
 + from socket import *
 + 
 + # Server-Adresse und Port
 + serverName = "localhost"
 + serverPort = 17000
 + 
 + # Client Socket (IP, UDP) oeffnen
 + clientSocket = socket(AF_INET, SOCK_DGRAM)
 + 
 + # Nachricht vom Benutzer erfragen und versenden
 + message = raw_input("UDP Nachricht in Kleinbuchstaben eingeben:")
 + clientSocket.sendto(message,(serverName, serverPort))
 + 
 + # Antwort des Server aus Socket lesen und ausgeben
 + modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
 + print "Antwort des Servers: ", modifiedMessage
 + raw_input("Fertig...")
 + 
 + # Verbindung schliessen
 + clientSocket.close()
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/udpserver.py
 + content: |
 + #!/usr/bin/python
 + from socket import *
 + 
 + # UDP Port auf dem der Server lauschen soll...
 + serverPort = 17000
 + 
 + # Server-Socket als Internet (INET) UDP (DGRAM) erzeugen und an o.g. Port binden
 + serverSocket = socket(AF_INET, SOCK_DGRAM)
 + serverSocket.bind(("", serverPort))
 + print "UDP Server ist bereit fuer den Empfang von Daten..."
 + 
 + # Endlosschleife
 + while 1:
 + # Eingehende Nachrichten von Clients empfangen
 + message, clientAddress = serverSocket.recvfrom(2048)
 + # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den
 + # Client zuruecksenden
 + modifiedMessage = message.upper()
 + serverSocket.sendto(modifiedMessage, clientAddress)
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/tcpclient.py
 + content: |
 + #!/usr/bin/python
 + from socket import *
 + 
 + # Serveradresse und TCP Port auf den der Server hoert...
 + serverName = "localhost"
 + serverPort = 17000
 + # Socket fuer IP (INET) und TCP (STREAM) konfigurieren
 + clientSocket = socket(AF_INET, SOCK_STREAM)
 + clientSocket.connect((serverName,serverPort))
 + 
 + # Nachricht vom Benutzer abfragen und an den Server senden
 + sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:")
 + clientSocket.send(sentence)
 + 
 + # Antwort des Servers ausgeben
 + modifiedSentence = clientSocket.recv(1024)
 + print "Antwort des Servers:", modifiedSentence
 + raw_input("Fertig...")
 + 
 + # Verbindung schliessen
 + clientSocket.close()
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/tcpserver.py
 + content: |
 + #!/usr/bin/python
 + from socket import *
 + 
 + # TCP Port auf dem der Server lauschen soll...
 + serverPort = 17000
 + # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden
 + serverSocket = socket(AF_INET,SOCK_STREAM)
 + serverSocket.bind(("",serverPort))
 + serverSocket.listen(1)
 + print "TCP Server ist bereit fuer den Empfang von Daten..."
 + 
 + # Endlosschleife
 + while 1:
 + # Eingehende Nachrichten akzeptieren und von Clients empfangen
 + connectionSocket, addr = serverSocket.accept()
 + sentence = connectionSocket.recv(1024)
 + # Alle Buchstaben der Nachricht in Grossbuchstaben umwandeln und an den
 + # Client zuruecksenden
 + capitalizedSentence = sentence.upper()
 + connectionSocket.send(capitalizedSentence)
 + # Verbindung schliessen
 + connectionSocket.close()
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/tcpclient-download.py
 + content: |
 + #!/usr/bin/python
 + from socket import *
 + import time
 + 
 + # Serveradresse und TCP Port auf den der Server hoert...
 + serverName = "10.0.0.30"
 + serverPort = 17000
 + # Socket fuer IP (INET) und TCP (STREAM) konfigurieren
 + clientSocket = socket(AF_INET, SOCK_STREAM)
 + clientSocket.connect((serverName,serverPort))
 + 
 + # Antwort des Servers ausgeben
 + length = 0
 + start = time.time()
 + while 1:
 + data = clientSocket.recv(1024)
 + if not data:
 + break
 + length += len(data)
 + elapsed = time.time() - start
 + print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)"
 + raw_input("Fertig...")
 + 
 + # Verbindung schliessen
 + clientSocket.close()
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/tcpserver-download.py
 + content: |
 + #!/usr/bin/python
 + from socket import *
 + 
 + # TCP Port auf dem der Server lauschen soll...
 + serverPort = 17000
 + # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden
 + serverSocket = socket(AF_INET,SOCK_STREAM)
 + serverSocket.bind(("",serverPort))
 + serverSocket.listen(1)
 + downloadSize = raw_input("Download-Groesse: ")
 + print "TCP Server ist bereit fuer den Download..."
 + 
 + # Endlosschleife
 + while 1:
 + # Eingehende Nachrichten akzeptieren und von Clients empfangen
 + connectionSocket, addr = serverSocket.accept()
 + # Bytes an Client zuruecksenden
 + connectionSocket.send("a" * int(downloadSize))
 + # Verbindung schliessen
 + connectionSocket.close()
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/tcpdownload-client.py
 + content: |
 + #!/usr/bin/python
 + from socket import *
 + import time
 + 
 + # Serveradresse und TCP Port auf den der Server hoert...
 + serverName = "10.0.0.30"
 + serverPort = 17000
 + # Socket fuer IP (INET) und TCP (STREAM) konfigurieren
 + clientSocket = socket(AF_INET, SOCK_STREAM)
 + clientSocket.connect((serverName,serverPort))
 + 
 + # Antwort des Servers ausgeben
 + length = 0
 + start = time.time()
 + while 1:
 + data = clientSocket.recv(1024)
 + if not data:
 + break
 + length += len(data)
 + elapsed = time.time() - start
 + print str(length) + " Bytes geladen in " + str(elapsed) + " secs (" + str(length / elapsed) + " bytes/s)"
 + raw_input("Fertig...")
 + 
 + # Verbindung schliessen
 + clientSocket.close()
 + owner: root:root
 + permissions: '0777'
 +- path: /home/cisco/tcpdownload-server.py
 + content: |
 + #!/usr/bin/python
 + from socket import *
 + 
 + # TCP Port auf dem der Server lauschen soll...
 + serverPort = 17000
 + # Server-Socket als Internet (INET) TCP (STREAM) erzeugen und an o.g. Port binden
 + serverSocket = socket(AF_INET,SOCK_STREAM)
 + serverSocket.bind(("",serverPort))
 + serverSocket.listen(1)
 + downloadSize = raw_input("Download-Groesse: ")
 + print "TCP Server ist bereit fuer den Download..."
 + 
 + # Endlosschleife
 + while 1:
 + # Eingehende Nachrichten akzeptieren und von Clients empfangen
 + connectionSocket, addr = serverSocket.accept()
 + # Bytes an Client zuruecksenden
 + connectionSocket.send("a" * int(downloadSize))
 + # Verbindung schliessen
 + connectionSocket.close()
 + owner: root:root
 + permissions: '0777'
 </entry> </extensions> <interface id="0" name="eth1" ipv4="10.0.0.3" netPrefixLenV4="16"/> </node> - <node name="switch1" type="SIMPLE" subtype="Unmanaged Switch" location="446,227"> + <node name="switch1" type="SIMPLE" subtype="Unmanaged Switch" location="459,232"> <interface id="0" name="link1"/> <interface id="1" name="link2"/> <interface id="2" name="link3"/> </node> - <node name="router1" type="SIMPLE" subtype="IOSv" location="446,106"> + <node name="router1" type="SIMPLE" subtype="IOSv" location="459,111"> <extensions> <entry key="AutoNetkit.mgmt_ip" type="string"></entry> <entry key="Auto-generate config" type="Boolean">false</entry>