Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
git-virl-hs-fulda
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Sebastian Rieger
git-virl-hs-fulda
Commits
3e0a02f6
Commit
3e0a02f6
authored
8 years ago
by
Sebastian Rieger
Browse files
Options
Downloads
Patches
Plain Diff
fixed cloud config file generation and added tcp download client/server
parent
3fb8b72e
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
GIT-VIRL-HS-Fulda/Kommunikationsnetze und -protokolle (Bachelor AI)/kommprot-lab3-clientserverapp.virl
+324
-66
324 additions, 66 deletions
...otokolle (Bachelor AI)/kommprot-lab3-clientserverapp.virl
with
324 additions
and
66 deletions
GIT-VIRL-HS-Fulda/Kommunikationsnetze und -protokolle (Bachelor AI)/kommprot-lab3-clientserverapp.virl
+
324
−
66
View file @
3e0a02f6
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<entry
key=
"config"
type=
"String"
>
#cloud-config

<entry
key=
"config"
type=
"String"
>
#cloud-config

bootcmd:

bootcmd:

- ln -s -t /etc/rc.d /etc/rc.local

- ln -s -t /etc/rc.d /etc/rc.local

hostname: client

hostname: client
1

manage_etc_hosts: true

manage_etc_hosts: true

runcmd:

runcmd:

- systemctl start rc-local

- systemctl start rc-local

...
@@ -46,14 +46,37 @@ write_files:
...
@@ -46,14 +46,37 @@ write_files:
#!/bin/sh

#!/bin/sh

ifconfig eth1 up 10.0.0.20 netmask 255.255.0.0

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 -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

route add default gw 10.0.0.1

echo "nameserver 8.8.8.8"
>
/etc/resolv.conf

echo "nameserver 8.8.8.8"
>
/etc/resolv.conf

chown -R cisco:cisco /home/cisco

exit 0

exit 0

- path: /home/cisco/udpserver.py

- path: /home/cisco/udp-client.py

owner: cisco:cisco

content: |

permissions: '0755'

#!/usr/bin/python

content: |-

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

#!/usr/bin/python

from socket import *

from socket import *



...
@@ -73,35 +96,35 @@ write_files:
...
@@ -73,35 +96,35 @@ write_files:
# Client zuruecksenden

# Client zuruecksenden

modifiedMessage = message.upper()

modifiedMessage = message.upper()

serverSocket.sendto(modifiedMessage, clientAddress)

serverSocket.sendto(modifiedMessage, clientAddress)

- path: /home/cisco/udpclient.py

owner: root:root

owner: cisco:cisco

permissions: '0777'

p
ermissions: '0755'

-
p
ath: /home/cisco/tcp-client.py

content: |
-

content: |

#!/usr/bin/python

#!/usr/bin/python

from socket import *

from socket import *



# Server
-A
dresse und
Port

# Server
a
dresse und
TCP Port auf den der Server hoert...

serverName = "localhost"

serverName = "localhost"

serverPort = 17000

serverPort = 17000

# Socket fuer IP (INET) und TCP (STREAM) konfigurieren

clientSocket = socket(AF_INET, SOCK_STREAM)

clientSocket.connect((serverName,serverPort))



# Client Socket (IP, UDP) oeffnen

# Nachricht vom Benutzer abfragen und an den Server senden

clientSocket = socket(AF_INET, SOCK_DGRAM)

sentence = raw_input("TCP Nachricht in Kleinbuchstaben eingeben:")


clientSocket.send(sentence)

# 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

# Antwort des Server
s
ausgeben

modified
Message, serverAddress
= clientSocket.recv
from(2048
)

modified
Sentence
= clientSocket.recv
(1024
)

print "Antwort des Servers:
", modified
Messag
e

print "Antwort des Servers:", modified
Sentenc
e

raw_input("Fertig...")

raw_input("Fertig...")



# Verbindung schliessen

# Verbindung schliessen

clientSocket.close()

clientSocket.close()

- path: /home/cisco/tcpserver.py

owner: root:root

owner: cisco:cisco

permissions: '0777'

p
ermissions: '0755'

-
p
ath: /home/cisco/tcp-server.py

content: |
-

content: |

#!/usr/bin/python

#!/usr/bin/python

from socket import *

from socket import *



...
@@ -124,31 +147,61 @@ write_files:
...
@@ -124,31 +147,61 @@ write_files:
connectionSocket.send(capitalizedSentence)

connectionSocket.send(capitalizedSentence)

# Verbindung schliessen

# Verbindung schliessen

connectionSocket.close()

connectionSocket.close()

- path: /home/cisco/tcpclient.py

owner: root:root

owner: cisco:cisco

permissions: '0777'

p
ermissions: '0755'

-
p
ath: /home/cisco/tcpdownload-client.py

content: |
-

content: |

#!/usr/bin/python

#!/usr/bin/python

from socket import *

from socket import *

import time



# Serveradresse und TCP Port auf den der Server hoert...

# Serveradresse und TCP Port auf den der Server hoert...

serverName = "
localhost
"

serverName = "
10.0.0.30
"

serverPort = 17000

serverPort = 17000

# Socket fuer IP (INET) und TCP (STREAM) konfigurieren

# Socket fuer IP (INET) und TCP (STREAM) konfigurieren

clientSocket = socket(AF_INET, SOCK_STREAM)

clientSocket = socket(AF_INET, SOCK_STREAM)

clientSocket.connect((serverName,serverPort))

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

# Antwort des Servers ausgeben

modifiedSentence = clientSocket.recv(1024)

length = 0

print "Antwort des Servers:", modifiedSentence

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...")

raw_input("Fertig...")



# Verbindung schliessen

# Verbindung schliessen

clientSocket.close()

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>
</entry>
</extensions>
</extensions>
<interface
id=
"0"
name=
"eth1"
ipv4=
"10.0.0.2"
netPrefixLenV4=
"16"
/>
<interface
id=
"0"
name=
"eth1"
ipv4=
"10.0.0.2"
netPrefixLenV4=
"16"
/>
...
@@ -158,7 +211,7 @@ write_files:
...
@@ -158,7 +211,7 @@ write_files:
<entry
key=
"config"
type=
"String"
>
#cloud-config

<entry
key=
"config"
type=
"String"
>
#cloud-config

bootcmd:

bootcmd:

- ln -s -t /etc/rc.d /etc/rc.local

- ln -s -t /etc/rc.d /etc/rc.local

hostname: server

hostname: server
1

manage_etc_hosts: true

manage_etc_hosts: true

runcmd:

runcmd:

- systemctl start rc-local

- systemctl start rc-local

...
@@ -195,20 +248,225 @@ write_files:
...
@@ -195,20 +248,225 @@ write_files:
#!/bin/sh

#!/bin/sh

ifconfig eth1 up 10.0.0.30 netmask 255.255.0.0

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 -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

route add default gw 10.0.0.1

echo "nameserver 8.8.8.8"
>
/etc/resolv.conf

echo "nameserver 8.8.8.8"
>
/etc/resolv.conf

chown -R cisco:cisco /home/cisco

exit 0

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>
</entry>
</extensions>
</extensions>
<interface
id=
"0"
name=
"eth1"
ipv4=
"10.0.0.3"
netPrefixLenV4=
"16"
/>
<interface
id=
"0"
name=
"eth1"
ipv4=
"10.0.0.3"
netPrefixLenV4=
"16"
/>
</node>
</node>
<node
name=
"switch1"
type=
"SIMPLE"
subtype=
"Unmanaged Switch"
location=
"4
46,227
"
>
<node
name=
"switch1"
type=
"SIMPLE"
subtype=
"Unmanaged Switch"
location=
"4
59,232
"
>
<interface
id=
"0"
name=
"link1"
/>
<interface
id=
"0"
name=
"link1"
/>
<interface
id=
"1"
name=
"link2"
/>
<interface
id=
"1"
name=
"link2"
/>
<interface
id=
"2"
name=
"link3"
/>
<interface
id=
"2"
name=
"link3"
/>
</node>
</node>
<node
name=
"router1"
type=
"SIMPLE"
subtype=
"IOSv"
location=
"4
46,106
"
>
<node
name=
"router1"
type=
"SIMPLE"
subtype=
"IOSv"
location=
"4
59,111
"
>
<extensions>
<extensions>
<entry
key=
"AutoNetkit.mgmt_ip"
type=
"string"
></entry>
<entry
key=
"AutoNetkit.mgmt_ip"
type=
"string"
></entry>
<entry
key=
"Auto-generate config"
type=
"Boolean"
>
false
</entry>
<entry
key=
"Auto-generate config"
type=
"Boolean"
>
false
</entry>
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment