Skip to content
Snippets Groups Projects
Verified Commit 092d4944 authored by Réthelyi Bálint's avatar Réthelyi Bálint :no_mouth:
Browse files

docs

parent a50675de
No related branches found
No related tags found
No related merge requests found
Pipeline #20364 passed
...@@ -21,6 +21,8 @@ $ python3 ...@@ -21,6 +21,8 @@ $ python3
Distance of a half maraton in miles is: 13.110 Distance of a half maraton in miles is: 13.110
``` ```
Ahogy látható, itt elmentem változókba a kapott konstansokat, majd megformázva irattam ki a kapott értéket.
## 1.b Feladat - Külső modul használata ## 1.b Feladat - Külső modul használata
**Feladat:** Írassuk ki a *google.com* (nem kell a *www* elé!) tartománynévhez rendelt levelező szervereket (MX rekord)! **Feladat:** Írassuk ki a *google.com* (nem kell a *www* elé!) tartománynévhez rendelt levelező szervereket (MX rekord)!
...@@ -42,6 +44,9 @@ Host alt1.aspmx.l.google.com. has preference 20 ...@@ -42,6 +44,9 @@ Host alt1.aspmx.l.google.com. has preference 20
Host alt2.aspmx.l.google.com. has preference 30 Host alt2.aspmx.l.google.com. has preference 30
``` ```
Miután beimportáltam a megfelelő könyvtárat, lekérdeztem a `google.com` `MX` rekordjait. A depricated warningot
figyelmen kívül hagyva egy `for` ciklussal kiíratom a kapott adatokat.
## 1.c Feladat - Saját DNS modul ## 1.c Feladat - Saját DNS modul
**Feladat:** Hosszabb kódok esetén az interaktív interpreter használata körülményes. Írjunk Python modult `dns_tool.py` **Feladat:** Hosszabb kódok esetén az interaktív interpreter használata körülményes. Írjunk Python modult `dns_tool.py`
...@@ -98,6 +103,10 @@ dns_tool.get_mx = get_mx(dns_name, type='MX') ...@@ -98,6 +103,10 @@ dns_tool.get_mx = get_mx(dns_name, type='MX')
>>> >>>
``` ```
Készítettem egy függvényt két paraméterrel, majd a korábbi feladat lépéseit implementáltam, csak most függvénybe zárva.
Tesztelésnél látszik, hogy a `google.com`-ra szépen jönnek a válaszok, míg a `nemletezik.asd`-re nem, és hibát se dob a
kód, egyszerűen üres listát ad vissza.
## 1.d Feladat - Futtatható DNS szkript ## 1.d Feladat - Futtatható DNS szkript
**Feladat:** Tegyük futtathatóvá az elkészült modult! **Feladat:** Tegyük futtathatóvá az elkészült modult!
...@@ -140,6 +149,9 @@ if __name__ == "__main__": ...@@ -140,6 +149,9 @@ if __name__ == "__main__":
print(e) print(e)
``` ```
Ahhoz, hogy futtatthatóvá tegyem, elkészítettem neki a `__name__` "függvényt". Itt beállítottam, hogy kérjen be adatot a
felhasználótól, és kb leimplementáltam, ahogy eddig kézzel teszteltem.
Futtatás: Futtatás:
```bash ```bash
...@@ -155,4 +167,7 @@ please use dns.resolver.resolve() instead ...@@ -155,4 +167,7 @@ please use dns.resolver.resolve() instead
('40', 'alt3.aspmx.l.google.com.') ('40', 'alt3.aspmx.l.google.com.')
('30', 'alt2.aspmx.l.google.com.') ('30', 'alt2.aspmx.l.google.com.')
``` ```
Futtatásnál látszik is, hogy kényelmesen működik.
--- ---
...@@ -45,6 +45,10 @@ if __name__ == '__main__': ...@@ -45,6 +45,10 @@ if __name__ == '__main__':
``` ```
Először is definiáltam egy függvényt, ami megnyitja a fájlt, és kiolvassa, majd feldolgozza annak a sorait.
Miután ez megtörténik, elkészítettem a pingelős függvényt, mely megpingeli a domaineket, és egy `tuple`-be menti az
eredményt. Végül a PrettyPrint könyvtár segítségével szépen megjelenítem a kapott `tuple` tartalmát.
Futtatás: Futtatás:
```bash ```bash
...@@ -99,4 +103,6 @@ $ ./mirror_stat.py # don't need sudo priv for this in a modern system ...@@ -99,4 +103,6 @@ $ ./mirror_stat.py # don't need sudo priv for this in a modern system
'ftp2.fr.debian.org': 0.02599787712097168} 'ftp2.fr.debian.org': 0.02599787712097168}
``` ```
Sikeresen megpingettem a mirror szervereket, ezeket ki is listáztam. Sikeresen megpingettem a mirror szervereket, ezeket ki is listáztam.
\ No newline at end of file
---
...@@ -35,6 +35,10 @@ if __name__ == "__main__": ...@@ -35,6 +35,10 @@ if __name__ == "__main__":
server.shutdown() server.shutdown()
``` ```
Az importok után felüldefiniáltam a `BaseRequestHandler` osztály `handle()` függvényét a saját osztályomban, és
beállítottam, hogy az aktuális időt adja vissza.
Ezek után beállítottam, hogy lehessen argumentumokat átadni neki, és meg is hívtam az osztályomat.
Futtatás: Futtatás:
```bash ```bash
...@@ -108,4 +112,10 @@ Received 251 packets, got 2 answers, remaining 1021 packets ...@@ -108,4 +112,10 @@ Received 251 packets, got 2 answers, remaining 1021 packets
>>> >>>
``` ```
Látható, hogy a "www.google.hu"-nak a 80-as és a 443-as portja van nyitva. Először is elkészítettem a csomagomat, amit el fogok küldeni minden alsó portra. Megnéztem, hogy a könyvtár mit állított
\ No newline at end of file be alapértelmezetten az általam ki nem töltött paramétereknek. Majd elküldtem a csomagot, és fogadtam a válaszokat.
Megnéztem, hogy a megválaszolt listában mik voltak, láttam, két TCP csomag. Kiírattam egy ciklus segítségével a két
csomagból a `soure port`ot.
Látható, hogy a "www.google.hu"-nak a 80-as és a 443-as portja van nyitva.
---
...@@ -42,9 +42,13 @@ if __name__ == "__main__": ...@@ -42,9 +42,13 @@ if __name__ == "__main__":
parser.add_argument("--port", default="22") parser.add_argument("--port", default="22")
args = parser.parse_args() args = parser.parse_args()
connect(args.host, args.port) connect(args.host, args.port)
``` ```
Elkészítettem a függvényemet, melyben beállítottam a hoston kívül a portot is, valamint bekértem a felhasználó nevét és
jelszavát is. Megpróbálok csatlakozni, majd ha sikerült, akkor a felhasználónak a parancsait elküldöm a távoli
terminálra, kivéve, ha az `q` vagy `Q`, valamint lekezelem, ha a felhasználó CTRL-C-t nyom. Bármilyen eset is történjen,
lezárom a kapcsolatot.
Futtatás: Futtatás:
```bash ```bash
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment