diff --git a/README.md b/README.md
index ddf4b627e5d06e1eb8b78287ebe071fca8765104..245ad167ffb8764eb4044402fd11716983f96ed4 100644
--- a/README.md
+++ b/README.md
@@ -211,3 +211,33 @@ Ehhez használjuk a beépített `argparse` csomagot! Dokumentáció és példak
 a szervert (`server.shutdown()`)!
 - Teszteléshez használjuk a `telnet` programot. Pl.: `$ telnet localhost 8000`
 
+## 3.b Feladat - Port szkenner
+
+**Feladat:** Valósítsunk meg egy port szkanner funkciót, amely egy megadott hoszton ("www.google.hu") 
+végigszkenneli a "jól ismert" (well-known) portokat (1 - 1023). Eredményként írassuk ki a nyitott portokat. 
+Dolgozzunk a Python konzolban az egyszerűség végett.
+
+- Ehhez használjuk a segédletben emített `scapy` csomagot, amit a következő paranccsal telepíthetünk: 
+`pip3 install scapy`
+- A feladathoz nem kell szkriptet írni, elég interaktívan megvalósítani!
+- A `scapy` szintaktikára a segédletben linkelt oldalon találunk példákat vagy használjuk ezt az összefoglalót: 
+[scapy_cheatsheet.pdf](https://qosip.tmit.bme.hu/foswiki/pub/Meres/PythonFeladatok/scapy_cheatsheet2.pdf)
+- A csomagok összeállítására használjunk Layer 2-4 megközelítést (Ethenet + IP + TCP), az összefűzésre 
+a `/` operátor használható (**Basic Packet Crafting / Viewing, Altering Packets** blokk). 
+- Érdekességképpen mentsük el a csomagot egy változóban és vizsgáljuk meg az automatikusan kitöltött mezőket 
+a `.show()` paranccsal.
+- Lehetőség van egy összefogott csomaghalmaz definiálására is: A vizsgálandó portokat `tuple` ként is megadhatjuk 
+(`start`, `stop`) formátumban(**Altering Packets** blokk). A `scapy` képes kezelni a mezőkhöz definiált 
+listákat/tupleket és Descartes-szorzatkét generálja ki az összes csomagot.
+- Küldésre használjuk a `srp` parancsot (**Sending Packets** blokk), a szkennelés végeztével állítsuk le a 
+próbálkozást CTRL+C kombinációval vagy a preferáltabb módon adjunk meg `timeout` értéket a küldéshez, 1s bőven elég.
+- Eredményként az `srp` parancs 2 értékkel tér vissza: 1. Sikeres request-response párok, 2. Válasz nélküli kérések. 
+Az eredmények a `scapy` saját osztályaiban vannak megvalósítva, de kezelhetőek listaként is a következő formátummal: 
+`srp() --> [ [ ( sikeres kérés1, kapott válasz1 ), ( sikeres kérés2, kapott válasz2 ),   .... ], [ sikertelen kérések   ...] ]`
+- Eredmény kiíratásához használhatjuk a `.summary()` vagy `.show()` függvényeit.
+- Vegyük a sikeresek listáját, azokból vegyük a válaszokat (**Receiving and Analyzing Packets** blokk). 
+A TCP részhez a `.payload` attribútumokon végigjárva vagy az általánosabb `[]` operátorral férhetünk hozzá, 
+aminek a kikért payload osztályát kell megadnunk (`packet[TCP]`).
+- Eredményként írassuk ki a kapott válaszok source portját (`.sport` attribútum), azaz a nyitott portokat, 
+amelyekről érkezett válasz.
+
diff --git a/solutions/1_feladat.md b/solutions/1_feladat.md
index 33f9b497f81e4cabe29ed420f118d9eca008d5d4..56d9f98abc73c7b101275311a51340671d97c9c1 100644
--- a/solutions/1_feladat.md
+++ b/solutions/1_feladat.md
@@ -49,7 +49,7 @@ néven az előző feladatban megvalósított funkcióhoz!
 
 A forráskód:
 
-```python3
+```python
 from dns.resolver import query
 from dns.exception import DNSException
 
@@ -104,7 +104,7 @@ dns_tool.get_mx = get_mx(dns_name, type='MX')
 
 A forráskód:
 
-```python3
+```python
 #!/usr/bin/env python3
 
 from dns.resolver import query
diff --git a/solutions/2_feladat.md b/solutions/2_feladat.md
index a31b1f4e1f735d6998723ebddb9b4be7b03639dc..a9fc5f166a4804c965a87a5233f481481a0de312 100644
--- a/solutions/2_feladat.md
+++ b/solutions/2_feladat.md
@@ -5,7 +5,7 @@ Debian mirror szerverek elérhetőségéről, amit a futása végén ki is list
 
 A forráskód:
 
-```python3
+```python
 #!/usr/bin/env python3
 import ping3
 import pprint
diff --git a/solutions/3_feladat.md b/solutions/3_feladat.md
index 9934e705c760e6345b2b8de8329e9ec9b48662b7..ed47d86d439aee5439f9eb791062e8c8925eb2e7 100644
--- a/solutions/3_feladat.md
+++ b/solutions/3_feladat.md
@@ -47,4 +47,61 @@ Tesztelés:
 ```bash
 $ nc localhost 9999
 Mon Mar  7 17:56:58 2022
-```
\ No newline at end of file
+```
+
+## 3.b Feladat - Port szkenner
+
+**Feladat:** Valósítsunk meg egy port szkanner funkciót, amely egy megadott hoszton ("www.google.hu") 
+végigszkenneli a "jól ismert" (well-known) portokat (1 - 1023). Eredményként írassuk ki a nyitott portokat. 
+
+A megoldás:
+
+```bash
+$ pip3 install scapy
+$ sudo python3
+>>> from scapy.all import *
+>>> packet = Ether() / IP(dst="www.google.hu") / TCP(dport=(1,1023))
+>>> packet.show()
+###[ Ethernet ]### 
+  dst       = 00:00:0c:9f:f0:b6
+  src       = 00:50:b6:8d:fb:1a
+  type      = IPv4
+###[ IP ]### 
+     version   = 4
+     ihl       = None
+     tos       = 0x0
+     len       = None
+     id        = 1
+     flags     = 
+     frag      = 0
+     ttl       = 64
+     proto     = tcp
+     chksum    = None
+     src       = 152.66.182.33
+     dst       = Net("www.google.hu/32")
+     \options   \
+###[ TCP ]### 
+        sport     = ftp_data
+        dport     = (1, 1023)
+        seq       = 0
+        ack       = 0
+        dataofs   = None
+        reserved  = 0
+        flags     = S
+        window    = 8192
+        chksum    = None
+        urgptr    = 0
+        options   = ''
+>>> ans,unans = srp(packet,timeout=1)
+Begin emission:
+Finished sending 1023 packets.
+.......*..................*................................................
+Received 251 packets, got 2 answers, remaining 1021 packets
+>>> ans
+<Results: TCP:2 UDP:0 ICMP:0 Other:0>
+>>> for a in ans:
+...     print(a[1][TCP].sport)
+80
+443
+>>> 
+```