Számítógépes Hálózatok GY 3-4.hét

Hasonló dokumentumok
Számítógépes Hálózatok. 3. gyakorlat

Számítógépes Hálózatok. 3. gyakorlat

Számítógépes Hálózatok GY 4.hét

Számítógépes Hálózatok. 4. gyakorlat

Számítógépes Hálózatok GY 3.hét

Számítógépes Hálózatok GY 6.hét

Számítógépes hálózatok I.

Dr. Varga Imre Debreceni Egyetem, Informatikai Kar. Socket-programozás. C nyelven, Linux alatt

Számítógépes Hálózatok GY 7.hét

Dr. Varga Imre. Socket-programozás. C nyelven

Hálózati architektúrák laborgyakorlat

Számítógépes Hálózatok. 5. gyakorlat

Számítógépes hálózatok

Socket programozás Példák

Számítógépes Hálózatok GY 8.hét

Bevezetés a SOCKET programozásba UDP kliens

Számítógépes Hálózatok GY 8.hét

SOCKET használata UDP kliens

Számítógépes Hálózatok. 9. gyakorlat

Számítógépes Hálózatok. 7. gyakorlat

ELTE, IK, Információs Rendszerek Tanszék

Kommunikáció Androidon Mobilinternet Wifi

Számítógép-hálózatok: 4. Labor. TCP kliens. A gyakorlat célja:

FTP: Elkülönített kontroll- és adatkapcsolat. FTP: File Transfer Protocol

O er e á r ci c ós ó s R en e d n sz s er e e r k e I. G akorlá l s

Számítógépes hálózatok

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Számítógépes Hálózatok 2012

Számítógépes Hálózatok GY 9.hét

TCP szerver készítése

Segédanyag: Java alkalmazások gyakorlat

Hálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20

Socketek programozása

Vectory telepítési útmutató

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Névfeloldás hosts, nsswitch, DNS

Kommunikáció Androidon Mobilinternet Wifi

Adatbázis használata PHP-ből

Az internet ökoszisztémája és evolúciója. Gyakorlat 1

Számítógép labor V. Egyszer Web szerver. Dokumentáció. Készítette: Ács Gergely (K4C03M)

Hálózati architektúrák laborgyakorlat

Bérprogram vásárlásakor az Ügyfélnek ben és levélben is megküldjük a termék letöltéséhez és aktiválásához szükséges termékszámot.

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Számítógépes Hálózatok ősz 2006

Java gyakorlat feladatai e s megolda sai ( )

Számítógépes hálózatok

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Hálózati Architektúrák és Protokollok GI BSc. 10. laborgyakorlat

Kommunikáció - Wi-Fi, Mobil internet - Bluetooth - GSM / GPRS és SMS - NFC

Hálózati architektúrák és Protokollok GI Kocsis Gergely

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

TCP szerver. TCP szerver alkalmazás írásának az elsajátítása TCP protokoll tulajdonságainak a tanulmányozása kisérleti úton

AIX 6.1. IBM Systems Director Console for AIX

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

UDP idő szerver. UDP protokollal kapcsolatos ismeretek elmélyítése. Egy UPP protokollt használó időszerver megvalósítása

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

URL-LEL ADOTT OBJEKTUM LETÖLTÉSE (1) URL-LEL ADOTT OBJEKTUM LETÖLTÉSE

Két típusú összeköttetés PVC Permanent Virtual Circuits Szolgáltató hozza létre Operátor manuálisan hozza létre a végpontok között (PVI,PCI)

Multiprotocol encapsulation (RFC1483) - IETF Classical IP over ATM (RFC1577) - IETF LAN Emulation (LANE) - ATM Forum Multiprotocol over ATM (MPOA) -

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Az internet ökoszisztémája és evolúciója. Gyakorlat 1

Hálózati architektúrák és Protokollok MI 7,8. Kocsis Gergely

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Nagios NSCA Indirect Monitoring, Passive Check

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

PHP. Adatbázisok gyakorlat

1. Kapcsolók konfigurálása

III. előadás. Kovács Róbert

BioAdmin 4.1 könnyű telepítés csak Kliens használatra

Hálózati architektúrák laborgyakorlat

ORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Az internet ökoszisztémája és evolúciója. Gyakorlat 2

Virtualoso BackUp / BackUp Light szolgáltatás Szerver archiválási útmutató

A 35/2016. (VIII. 31.) NFM rendelet szakmai és vizsgakövetelménye alapján.

Számítógépes Hálózatok

Portforward beállítási segítség

UNIX: folyamatok kommunikációja

I. Felzárkoztató Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

S z á m í t ó g é p e s a l a p i s m e r e t e k

Mote-mote rádiós kommunikáció

NAV felé történő számla adatszolgáltatás a Nagy Utazás 3 programmal

Hálózati architektúrák és Protokollok GI - 9. Kocsis Gergely

chmod umask chown, chgrp

Beej útmutatója a hálózati programozáshoz

Programozás I gyakorlat

Ja J v a a v a há h l á óz ó a z t a i al a ka k l a maz ma á z s á o s k o Socket, URL

CĺM: Bogdana Šuputa Novi Sad Serbia

Konfiguráljuk be a TCP/IP protokolt a szerveren: LOAD INETCFG A menüpontokból válasszuk ki a Proctcols menüpontot:

UNIX / Linux rendszeradminisztráció III. előadás

Bevezető. Servlet alapgondolatok

Telepítés, újratelepítés több számítógépre, hálózatos telepítés Kulcs-Bér program

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

IBM i. Szerviz és támogatás 7.1

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

A Wireshark program használata Capture Analyze Capture Analyze Capture Options Interface

Broadlink RM mini 3 infra vezérlő integrálása az inels rendszerbe

RBLDNS DNS-based blocklists management felhasználói kézikönyv

Java programozási nyelv 6. rész Java a gyakorlatban

Átírás:

Számítógépes Hálózatok GY 3-4.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu 1

Teszt canvas.elte.hu Kód: 2

Python alapok III. Socket programozás 3

Pyton socket, host név feloldás Socket csomag használata gethostname() import socket gethostbyname() gethostbyname_ex() hostname = socket.gethostname() hostname = socket.gethostbyname( www.example.org ) hostname, aliases, addresses = socket.gethostbyname_ex(host) gethostbyaddr() hostname, aliases, addrs = socket.gethostbyaddr('157.181.161.79') 4

Feladat 1 Írassuk ki a gethosname() fv. eredményét! Következő hostnevekre futtassuk meg a gethostbyname() és a gethostbyname_ex() fv-eket: 'homer', 'www', 'www.python.org', inf.elte.hu Kérdezzük le a gethostbyaddr() fv segítségével a következő IP címek hosztneveit: 157.181.161.79, 157.181.161.16 5

Szerver adatok lekérdezése getaddrinfo() for response in socket.getaddrinfo('www.python.org', 'http'): family, socktype, proto, canonname, sockaddr = response for response in socket.getaddrinfo('www.python.org', 'http socket.af_inet, # family socket.sock_stream, # socktype socket.ipproto_tcp, # protocol socket.ai_canonname, # flags): family, socktype, proto, canonname, sockaddr = response 6

Feladat 2 Kérdezzük le a www.python.org http szerverének az információit! Kérdezzük le a www.inf.elte.hu oldal http servernevét, ahol meg van adva a név flag (AI_CANNONNAME) 7

Little endian, big endian 16 és 32 bites pozitív számok kódolása htons(), htonl() host to network short / long ntohs(), ntohl() network to host short / long 8

TCP 9

TCP socket() bind() listen() accept() sock = socket.socket(socket.af_inet, socket.sock_stream) server_address = ('localhost', 10000) sock.bind(server_address) sock.listen(1) connection, client_address = sock.accept() 10

TCP send(), sendall() recv() close() connect() connection.sendall(data) data = connection.recv(16) connection.close() server_address = ('localhost', 10000) sock.connect(server_address) 11

Feladat 3 Készítsünk egy egyszerű kliens-server alkalmazást, ahol a kliens elküld egy Hello server üzenetet, és a szerver pedig válaszol neki egy Hello kliens üzenettel! Változtassuk meg hogy ne az előre megadott portot adjuk, hanem egy tetszőlegeset kapjunk az oprendszertől! (sys.argv[1]) 12

Struktúra küldése Binárissá alakítjuk az adatot import struct values = (1, 'ab', 2.7) packer = struct.struct('i 2s f') packed_data = packer.pack(*values) #Int, char[2], float Visszalakítjuk a kapott üzenetet import struct unpacker = struct.struct('i 2s f') unpacked_data = unpacker.unpack(data) megj.: integer 1 4 byte, stringként 1 byte, azaz hatékonyabb stringként átküldeni. 13

Feladat 4 Készítsünk egy szerver-kliens alkalmazást, ahol a kliens elküld 2 számot és egy operátort a szervernek, amely kiszámolja és visszaküldi az eredményt. A kliens üzenete legyen struktúra. 14

Select setblocking() or settimeout() select() connection.setblocking(0) # or connection.settimeout(1.0) inputs = [ server ] outputs = [ ] timeout=1 readable, writable, exceptional = select.select(inputs, outputs, inputs, timeout) for s in readable: if s is server: #new client connect connection, client_address = server.accept() print('new client from %s:%d' % client_address) inputs.append( connection ) else:. #handle client 15

Órai feladat Fájl átvitel [4 pont] Készítsünk egy kliens-szerver alkalmazást, amely lehetőséget ad a szerveren levő fájlok és könyvtárszerkezet listázására és a fájlok letöltésére! A szerver funkciói: A szerver egy adott könyvtár alatti fájlok leöltését teszi lehetővé ezt konfigurációs paraméterként kell megadni A szerverhez egyszerre több kliens is csatlakozhat A kapcsolat felépítés után a kliensektől a következő üzeneteket fogadja el: DIR listázza a letöltési mappát a teljes könyvtárszerkezetet adja vissza. Találjon ki rá egy JSON struktúrát és abban küldje vissza a kliensnek a választ! DL <fájlnév elérési úttal> ha létezik a fájl a megfelelő elérési úton, a letöltési mappa alatt, akkor küldje át a fájl tartalmát. Ha nem létezik a fájl vagy az egy könyvtár, akkor jelezze a kliensnek. MODTIME <fájlnév elérési úttal> ha létezik a fájl a megfelelő elérési úton, akkor adja vissza, hogy mikor módosították utoljára. Ha nem létezik a fájl vagy az egy könyvtár, akkor jelezze a kliensnek. FIND <fájlnév> - Keresés fájlnévre. Ha létezik az adott névvel fájl a letöltési mappa valamely részén, akkor a teljes elérési utat adja vissza, ha nincs ilyen fájl, akkor azt is jelzi. A kliens funkciói: A kliens csatlakozik a szerverhez és bejelentkezve marad, majd egy konzolt ad a felhasználónak. A begépelt kérés üzenetet küldje el a szervernek. DIR, MODTIME és FIND esetén az eredményt a stdout-on jelenítse meg. DL esetén a fájl tartalmát mentse ki egy azonos nevű lokális fájlba (elérési utat nem kell legyártani, de le lehet.) EXIT parancsra bontsa a kapcsolatot és lépjen ki! 16

Vége Köszönöm a figyelmet! 17