
ชื่อ–นามสกุล: ___________________________________ รหัสนักศึกษา: ________________
เมื่อเสร็จสิ้น Lab นี้ นักศึกษาจะสามารถ:
tcpdump โดยใช้ BPF Filternmap รวมถึงตีความผลลัพธ์ด้านความมั่นคงปลอดภัย| เครื่องมือ | วัตถุประสงค์ | คำสั่งติดตั้ง |
|---|---|---|
tcpdump |
Packet Capture แบบ CLI | sudo apt install tcpdump |
nmap |
Network Scanner | sudo apt install nmap |
tshark |
Wireshark แบบ CLI | sudo apt install tshark |
dig / nslookup |
DNS Query Tool | มักติดตั้งมาแล้ว |
ss / netstat |
ดู Network Connections | มักติดตั้งมาแล้ว |
iptables |
Firewall / Packet Filter | มักติดตั้งมาแล้ว |
หมายเหตุ: คำสั่งบางคำสั่งต้องใช้สิทธิ์
rootหรือsudoให้แน่ใจว่าได้รับอนุญาตก่อนรัน
เวลาโดยประมาณ: 35 นาที
รันคำสั่งต่อไปนี้บน Linux Terminal ของคุณ แล้วบันทึกผลลัพธ์ที่ได้ในช่องว่างที่กำหนด
คำสั่งที่ 1: ดูข้อมูล Network Interface (Physical / Data Link Layer)
ip link show
ผลลัพธ์ที่ได้:
[บันทึกผลลัพธ์ที่นี่]
คำสั่งที่ 2: ดูตาราง ARP (Data Link / Network Layer)
ip neigh show
ผลลัพธ์ที่ได้:
[บันทึกผลลัพธ์ที่นี่]
คำสั่งที่ 3: ดูตาราง Routing (Network Layer)
ip route show
ผลลัพธ์ที่ได้:
[บันทึกผลลัพธ์ที่นี่]
คำสั่งที่ 4: ดู Port ที่เปิดอยู่ (Transport Layer)
ss -tulpn
ผลลัพธ์ที่ได้:
[บันทึกผลลัพธ์ที่นี่]
จากผลลัพธ์ที่ได้ในแบบฝึกหัดที่ 1.1 ให้เติมข้อมูลในตารางต่อไปนี้: (4 คะแนน)
| OSI Layer | หมายเลขชั้น | ข้อมูลที่ได้จากระบบของคุณ | คำสั่งที่ใช้ |
|---|---|---|---|
| Physical / Data Link | L1–L2 | Interface: ____, MAC: _______________ | ip link show |
| Network | L3 | Default Gateway: _______________ | ip route show |
| Transport | L4 | Port ที่เปิดอยู่: _______________ | ss -tulpn |
| Application | L7 | บริการที่กำลังรัน: _____________ | ss -tulpn |
รันคำสั่งต่อไปนี้แล้วบันทึกค่า TTL ที่ได้: (4 คะแนน)
ping -c 3 8.8.8.8
ผลลัพธ์ที่ได้:
[บันทึกผลลัพธ์ที่นี่]
ค่า TTL ที่ได้จากการ ping: ________
จากตารางค่า TTL มาตรฐาน ระบบปลายทางน่าจะเป็น OS อะไร? (2 คะแนน)
| OS | TTL เริ่มต้น | ตีความผลลัพธ์ |
|---|---|---|
| Linux / Unix | 64 | |
| Windows | 128 | |
| Cisco Router | 255 |
คำตอบ: ระบบปลายทาง (8.8.8.8) น่าจะเป็น __________________ เพราะ ___________________________________________________
เวลาโดยประมาณ: 50 นาที
ขั้นตอนที่ 1: เปิด Terminal สองหน้าต่าง (Terminal A และ Terminal B)
Terminal A: รันคำสั่ง tcpdump เพื่อดักจับ Packet
sudo tcpdump -i any -n -c 30 -v 2>/dev/null
Terminal B: สร้าง Traffic ทดสอบ
ping -c 5 8.8.8.8
curl -s http://example.com > /dev/null
บันทึกผลลัพธ์จาก Terminal A (แสดงอย่างน้อย 5 บรรทัด):
[บันทึกผลลัพธ์ที่นี่]
รันคำสั่งแต่ละข้อแล้วบันทึกผลลัพธ์ที่สำคัญ: (8 คะแนน)
คำสั่งที่ 1: ดักเฉพาะ ICMP (ping) Traffic
# Terminal A — รันค้างไว้
sudo tcpdump -i any -n icmp 2>/dev/null
# Terminal B — สร้าง Traffic
ping -c 3 8.8.4.4
ผลลัพธ์ที่ได้ (2 บรรทัดที่น่าสนใจ):
[บันทึกผลลัพธ์ที่นี่]
คำสั่งที่ 2: ดักเฉพาะ DNS Query (UDP Port 53)
# Terminal A — รันค้างไว้
sudo tcpdump -i any -n udp port 53 2>/dev/null
# Terminal B — สร้าง Traffic
dig www.google.com A
dig www.facebook.com A
ผลลัพธ์ที่ได้ (เลือก 2 บรรทัด):
[บันทึกผลลัพธ์ที่นี่]
คำสั่งที่ 3: ดักเฉพาะ SYN Packet (การเริ่มต้น TCP Connection)
# Terminal A — รันค้างไว้
sudo tcpdump -i any -n 'tcp[tcpflags] == tcp-syn' 2>/dev/null
# Terminal B — สร้าง Traffic
curl -s https://example.com > /dev/null
curl -s https://www.google.com > /dev/null
ผลลัพธ์ที่ได้:
[บันทึกผลลัพธ์ที่นี่]
คำสั่งที่ 4: บันทึก Packet ลงไฟล์ แล้วอ่านกลับ
# บันทึก 20 Packet ลงไฟล์
sudo tcpdump -i any -n -c 20 -w /tmp/lab2_capture.pcap 2>/dev/null
# อ่านไฟล์ที่บันทึก
sudo tcpdump -r /tmp/lab2_capture.pcap -n 2>/dev/null
จำนวน Packet ที่บันทึกได้: _______ Packet
โปรโตคอลที่พบ (ระบุอย่างน้อย 2 ชนิด): __________________________________
รันคำสั่งต่อไปนี้เพื่อดู TCP Flags: (6 คะแนน)
sudo tcpdump -i any -n 'tcp' -c 20 2>/dev/null | head -15
ผลลัพธ์ที่ได้:
[บันทึกผลลัพธ์ที่นี่]
จากผลลัพธ์ด้านบน ระบุ TCP Flags ที่พบ และอธิบายความหมาย: (3 คะแนน)
| TCP Flag ที่พบ | ตัวอักษรย่อ | ความหมาย |
|---|---|---|
| ____ | [S] | ___________________________ |
| ____ | [S.] | ___________________________ |
| ____ | [.] | ___________________________ |
| ____ | [P.] | ___________________________ |
| ____ | [F.] | ___________________________ |
จาก Three-Way Handshake ที่เห็นในผลลัพธ์ ลำดับของ TCP Flags คือ: (3 คะแนน)
เติม BPF Filter ที่เหมาะสมสำหรับแต่ละสถานการณ์: (5 คะแนน)
| สถานการณ์ | BPF Filter ที่ถูกต้อง |
|---|---|
| ดักเฉพาะ Traffic จาก Host 10.0.0.5 | sudo tcpdump -i any ____________________ |
| ดักเฉพาะ HTTPS (Port 443) | sudo tcpdump -i any ____________________ |
| ดักเฉพาะ Traffic ไปยัง 8.8.8.8 บน Port 53 | sudo tcpdump -i any ____________________ |
| ดัก TCP แต่ยกเว้น Port 22 (SSH) | sudo tcpdump -i any ____________________ |
| ดักเฉพาะ Traffic ที่ขนาด Packet > 1000 bytes | sudo tcpdump -i any ____________________ |
เวลาโดยประมาณ: 35 นาที
⚠️ คำเตือน: ให้สแกนเฉพาะ Host ที่ได้รับอนุญาตเท่านั้น เช่น
localhost (127.0.0.1)หรือ VM ในเครือข่าย Lab ของคุณเอง การสแกนระบบที่ไม่ได้รับอนุญาตถือเป็นการกระทำที่ผิดกฎหมาย
# ค้นหา Host ที่ออนไลน์ใน subnet ของ Lab
sudo nmap -sn 127.0.0.1/8 2>/dev/null | head -20
หรือหากมีเครือข่าย Lab:
sudo nmap -sn 192.168.x.0/24 # แทน x ด้วยหมายเลข subnet ของ Lab
ผลลัพธ์ที่ได้:
[บันทึกผลลัพธ์ที่นี่]
จำนวน Host ที่พบ: _______ Host
คำสั่งที่ 1: TCP SYN Scan บน localhost
sudo nmap -sS -p 1-1024 127.0.0.1 2>/dev/null
ผลลัพธ์ที่ได้:
[บันทึกผลลัพธ์ที่นี่]
คำสั่งที่ 2: ตรวจหาเวอร์ชันบริการ
sudo nmap -sV -p- 127.0.0.1 2>/dev/null
ผลลัพธ์ที่ได้:
[บันทึกผลลัพธ์ที่นี่]
จากผลลัพธ์ บันทึกข้อมูลบริการที่พบ: (6 คะแนน)
| Port | Protocol | State | Service | Version |
|---|---|---|---|---|
| ____ | TCP | ____ | ________ | _____________ |
| ____ | TCP | ____ | ________ | _____________ |
| ____ | TCP | ____ | ________ | _____________ |
ทำการสแกน 3 แบบ แล้วเปรียบเทียบผลลัพธ์: (6 คะแนน)
แบบที่ 1: TCP SYN Scan (Stealth)
time sudo nmap -sS -p 22,80,443 127.0.0.1 2>/dev/null
เวลาที่ใช้: ___________ | Port ที่พบว่า Open: __________________
แบบที่ 2: TCP Connect Scan
time sudo nmap -sT -p 22,80,443 127.0.0.1 2>/dev/null
เวลาที่ใช้: ___________ | Port ที่พบว่า Open: __________________
แบบที่ 3: UDP Scan
time sudo nmap -sU -p 53,67,123 127.0.0.1 2>/dev/null
เวลาที่ใช้: ___________ | Port ที่พบว่า Open: __________________
เปรียบเทียบการสแกน:
| ประเด็น | SYN Scan (-sS) | Connect Scan (-sT) | UDP Scan (-sU) |
|---|---|---|---|
| ความเร็ว | _________ | _________ | _________ |
| ต้องการ root? | _________ | _________ | _________ |
| ตรวจจับได้ง่าย? | _________ | _________ | _________ |
เปิด Terminal สองหน้าต่าง: (4 คะแนน)
# Terminal A — ดัก Packet ขณะ nmap สแกน
sudo tcpdump -i lo -n 'tcp and dst port 80' -c 20 2>/dev/null
# Terminal B — รัน nmap
sudo nmap -sS -p 80 127.0.0.1 2>/dev/null
ผลลัพธ์จาก tcpdump:
[บันทึกผลลัพธ์ที่นี่]
คุณเห็น TCP Flag อะไรบ้างเมื่อ nmap ทำ SYN Scan?
_________________________________________________________________________________________
ทำไม SYN Scan จึงถือว่า "Stealth" กว่า Connect Scan?
_________________________________________________________________________________________
_________________________________________________________________________________________
เวลาโดยประมาณ: 35 นาที
รันคำสั่งต่อไปนี้แล้วบันทึกผลลัพธ์: (8 คะแนน)
คำสั่งที่ 1: ค้นหา A Record (IPv4)
dig www.google.com A +short
ผลลัพธ์: __________________________________
คำสั่งที่ 2: ค้นหา MX Record (Mail Server)
dig google.com MX +short
ผลลัพธ์:
[บันทึกผลลัพธ์ที่นี่]
คำสั่งที่ 3: ค้นหา TXT Record (SPF/DKIM)
dig google.com TXT +short | head -5
ผลลัพธ์:
[บันทึกผลลัพธ์ที่นี่]
คำสั่งที่ 4: ค้นหา Reverse DNS (PTR Record)
dig -x 8.8.8.8 +short
ผลลัพธ์: __________________________________
คำสั่งที่ 5: ดู DNS Resolution แบบ Verbose (ดูทุกขั้นตอน)
dig www.example.com +trace | head -30
ผลลัพธ์:
[บันทึกผลลัพธ์ที่นี่]
จากผลลัพธ์ dig +trace บันทึกลำดับ DNS Server ที่ติดต่อ: (2 คะแนน)
⚠️ ทดสอบเฉพาะกับ Domain ที่ตัวเองดูแล หรือ Domain ทดสอบที่อนุญาต เช่น
zonetransfer.me
# ทดสอบ Zone Transfer กับ Domain สาธารณะที่อนุญาตทดสอบ
dig zonetransfer.me NS +short
ชื่อ Name Server ของ zonetransfer.me:
[บันทึกผลลัพธ์ที่นี่]
# ทดสอบ Zone Transfer
dig @nsztm1.digi.ninja zonetransfer.me AXFR 2>/dev/null | head -30
ผลลัพธ์ (แสดงอย่างน้อย 5 บรรทัด):
[บันทึกผลลัพธ์ที่นี่]
Zone Transfer สำเร็จหรือไม่? ☐ สำเร็จ ☐ ล้มเหลว (REFUSED)
การที่ Zone Transfer สำเร็จถือเป็นปัญหาด้านความมั่นคงปลอดภัยอย่างไร? (อธิบายสั้นๆ) (2 คะแนน)
_________________________________________________________________________________________
_________________________________________________________________________________________
# ตรวจสอบว่า Domain ใช้ DNSSEC หรือไม่
dig cloudflare.com DNSKEY +short | head -3
echo "---"
dig cloudflare.com DS +short | head -3
ผลลัพธ์:
[บันทึกผลลัพธ์ที่นี่]
# เปรียบเทียบกับ Domain ที่ไม่ใช้ DNSSEC
dig example.com DNSKEY +short
ผลลัพธ์: __________________________________
เติมตาราง: (4 คะแนน)
| Domain | มี DNSKEY? | มี DS Record? | ใช้ DNSSEC? |
|---|---|---|---|
| cloudflare.com | ☐ ใช่ ☐ ไม่ | ☐ ใช่ ☐ ไม่ | ☐ ใช่ ☐ ไม่ |
| example.com | ☐ ใช่ ☐ ไม่ | ☐ ใช่ ☐ ไม่ | ☐ ใช่ ☐ ไม่ |
# Terminal A — ดัก DNS Query
sudo tcpdump -i any -n udp port 53 -l 2>/dev/null &
TCPDUMP_PID=$!
# Terminal B — สร้าง DNS Traffic
for domain in google.com facebook.com github.com youtube.com; do
dig $domain A +short > /dev/null
sleep 0.5
done
# หยุด tcpdump
sleep 2; sudo kill $TCPDUMP_PID 2>/dev/null
ผลลัพธ์ DNS Query ที่ดักได้:
[บันทึกผลลัพธ์ที่นี่]
DNS Server ที่ระบบของคุณใช้งาน (จากผลลัพธ์): __________________________
เวลาโดยประมาณ: 25 นาที
รันคำสั่งต่อไปนี้แล้ววิเคราะห์ผลลัพธ์: (6 คะแนน)
# ดู Connection ทั้งหมดและนับจาก IP ซ้ำ
ss -tan | awk 'NR>1 {print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -15
ผลลัพธ์:
[บันทึกผลลัพธ์ที่นี่]
# ดูสถานะ TCP Connection ทั้งหมด
ss -tan | awk 'NR>1 {print $1}' | sort | uniq -c | sort -rn
ผลลัพธ์:
[บันทึกผลลัพธ์ที่นี่]
เติมตาราง TCP State ที่พบ:
| TCP State | จำนวนที่พบ | ความหมาย |
|---|---|---|
| ESTABLISHED | ____ | ____________________________ |
| TIME_WAIT | ____ | ____________________________ |
| LISTEN | ____ | ____________________________ |
| SYN_RECV | ____ | ____________________________ |
หาก SYN_RECV มีจำนวนมากผิดปกติ (เช่น > 100) ควรสงสัยการโจมตีชนิดใด?
_________________________________________________________________________________________
จากข้อมูล PPS (Packets Per Second) ที่เก็บในช่วง 5 นาที ดังนี้:
ข้อมูล: 850, 920, 890, 870, 910, 880, 4500, 860, 900, 880
คำนวณ: (4 คะแนน)
1. ค่าเฉลี่ย (Mean) = ?
การคำนวณ:
2. หากนำค่า 4500 ออก ค่าเฉลี่ยใหม่ = ?
3. ค่า 4500 PPS ห่างจากค่าเฉลี่ยปกติ (ข้อ 2) กี่เท่า?
4. ตามหลัก Anomaly Detection ค่า 4500 PPS ถือเป็นความผิดปกติหรือไม่? เพราะอะไร?
_________________________________________________________________________________________
จากข้อมูล Log ต่อไปนี้ ให้ระบุว่าพฤติกรรมที่เห็นตรงกับการโจมตีใด: (5 คะแนน)
กรณีที่ 1: Log จาก tcpdump
14:30:01 IP 203.0.113.5.50001 > 10.0.0.1.22: Flags [S]
14:30:01 IP 203.0.113.5.50002 > 10.0.0.1.23: Flags [S]
14:30:01 IP 203.0.113.5.50003 > 10.0.0.1.25: Flags [S]
14:30:01 IP 203.0.113.5.50004 > 10.0.0.1.80: Flags [S]
14:30:01 IP 203.0.113.5.50005 > 10.0.0.1.443: Flags [S]
การโจมตีที่น่าสงสัย: _______________________ เพราะ ___________________________________
กรณีที่ 2: Log จาก DNS Query
14:31:00 src=10.0.0.50 query=VGhpcyBpcyBzZWNyZXQ=.evil.example.com
14:31:01 src=10.0.0.50 query=dGVzdCBkYXRh.evil.example.com
14:31:02 src=10.0.0.50 query=c2Vuc2l0aXZlIGRhdGE=.evil.example.com
การโจมตีที่น่าสงสัย: _______________________ เพราะ ___________________________________
กรณีที่ 3: Log จาก Connection
10:00:00 10.0.0.100 → 185.220.101.1:443 ESTABLISHED
10:00:30 10.0.0.100 → 185.220.101.1:443 ESTABLISHED
10:01:00 10.0.0.100 → 185.220.101.1:443 ESTABLISHED
10:01:30 10.0.0.100 → 185.220.101.1:443 ESTABLISHED
[ทุก 30 วินาที ต่อเนื่องหลายชั่วโมง]
การโจมตีที่น่าสงสัย: _______________________ เพราะ ___________________________________
กรณีที่ 4: ข้อมูล Bandwidth
08:00 — 120 Mbps (ปกติ)
08:30 — 135 Mbps (ปกติ)
09:00 — 850 Mbps (พุ่งสูงมาก)
09:01 — 920 Mbps
09:02 — 980 Mbps
09:03 — ไม่สามารถเข้าถึงระบบได้
การโจมตีที่น่าสงสัย: _______________________ เพราะ ___________________________________
เวลาโดยประมาณ: 30 นาที | ตอบเป็น ภาษาไทย อย่างน้อย 3–5 ประโยคต่อข้อ
ข้อที่ 1 (5 คะแนน)
จากที่ได้เรียนรู้เกี่ยวกับ TCP Three-Way Handshake และ SYN Flood Attack
คำถาม: อธิบายกลไกของ SYN Flood Attack ว่าโจมตีอย่างไร เกิดผลกระทบอะไรกับ Server และมีวิธีป้องกันอย่างไรบ้าง (ระบุอย่างน้อย 2 วิธี)
คำตอบ:
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
ข้อที่ 2 (5 คะแนน)
คำถาม: เปรียบเทียบ Shallow Packet Inspection, Stateful Inspection และ Deep Packet Inspection (DPI) ในแง่ความสามารถในการตรวจจับภัยคุกคาม ข้อดีข้อเสีย และกรณีการใช้งานที่เหมาะสม นักศึกษาคิดว่าการใช้ DPI ใน ISP มีข้อพิจารณาด้านจริยธรรมหรือไม่?
คำตอบ:
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
ข้อที่ 3 (5 คะแนน)
คำถาม: นักศึกษาได้ทดสอบ DNS Zone Transfer ใน Lab นี้ อธิบายว่าข้อมูลที่ได้จาก Zone Transfer มีประโยชน์กับผู้โจมตีอย่างไร และองค์กรควรป้องกัน Zone Transfer ด้วยวิธีใดบ้าง นอกจากนี้ DNSSEC ช่วยแก้ปัญหา DNS Cache Poisoning ได้อย่างไร?
คำตอบ:
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
ข้อที่ 4 (5 คะแนน)
คำถาม: ในฐานะ Network Security Engineer ของมหาวิทยาลัย คุณจะออกแบบระบบ Network Traffic Baseline และ Anomaly Detection อย่างไร? ระบุ (1) พารามิเตอร์ที่จะวัด (2) เครื่องมือที่จะใช้ (3) เกณฑ์ที่ถือว่า "ผิดปกติ" และ (4) ขั้นตอนการตอบสนองเมื่อตรวจพบ Anomaly
คำตอบ:
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
(ไม่นับคะแนน — เพื่อประเมินความเข้าใจ)
ทำเครื่องหมาย ✓ ในระดับความเข้าใจของตนเอง:
| หัวข้อ | ไม่เข้าใจ | เข้าใจบางส่วน | เข้าใจดี | เข้าใจมาก |
|---|---|---|---|---|
| OSI Model และ Security ในแต่ละชั้น | ☐ | ☐ | ☐ | ☐ |
| การใช้ tcpdump และ BPF Filter | ☐ | ☐ | ☐ | ☐ |
| การตีความ TCP Flags | ☐ | ☐ | ☐ | ☐ |
| การใช้ nmap สแกนเครือข่าย | ☐ | ☐ | ☐ | ☐ |
| DNS Record ประเภทต่างๆ | ☐ | ☐ | ☐ | ☐ |
| การตรวจจับ DNS ที่ผิดปกติ | ☐ | ☐ | ☐ | ☐ |
| Anomaly Detection | ☐ | ☐ | ☐ | ☐ |
| DPI และ Privacy | ☐ | ☐ | ☐ | ☐ |
ส่วนที่ยากที่สุดสำหรับนักศึกษาใน Lab นี้:
_________________________________________________________________________________________
คำถามหรือสิ่งที่ต้องการเรียนรู้เพิ่มเติม:
_________________________________________________________________________________________