| รายการ | รายละเอียด |
|---|---|
| วิชา | โปรโตคอลเครือข่ายและการวิเคราะห์ |
| ระยะเวลา | 3 ชั่วโมง |
| ระดับ | พื้นฐาน - ปานกลาง |
| ระบบปฏิบัติการ | Linux (Ubuntu/Debian) |
เมื่อเสร็จสิ้นแลปนี้ นักศึกษาจะสามารถ:
ip ตรวจสอบ Network Interface, IP Address และ Routing Tableping และวิเคราะห์ผลลัพธ์traceroute และ mtrssip neighbortcpdumpsudo apt update
sudo apt install -y net-tools iputils-ping traceroute mtr tcpdump iproute2 dnsutils curl netcat-openbsd
# ตรวจสอบว่าสามารถใช้ sudo ได้
sudo whoami
สถานการณ์: คุณเป็นผู้ดูแลระบบเครือข่าย ได้รับแจ้งว่าผู้ใช้ไม่สามารถเข้าถึงเว็บไซต์
google.comได้ คุณต้องใช้เครื่องมือวิเคราะห์เครือข่ายทั้งหมดเพื่อตรวจสอบปัญหาอย่างเป็นระบบ
ipคำสั่ง ip เป็นเครื่องมือหลักในการจัดการเครือข่ายบน Linux มีโครงสร้างดังนี้:
ip [OPTIONS] OBJECT COMMAND
| OBJECT | คำอธิบาย |
|---|---|
link |
จัดการ Network Interface |
addr |
จัดการที่อยู่ IP |
route |
จัดการตาราง Routing |
neighbor |
จัดการตาราง ARP |
รันคำสั่งต่อไปนี้และบันทึกผลลัพธ์:
# แสดง interface ทั้งหมดแบบสรุป
ip -brief link show
# แสดง interface ที่ UP เท่านั้น
ip link show up
📋 ตารางบันทึกผล 1.1 - Network Interfaces:
| Interface | MAC Address | State (UP/DOWN) | MTU |
|---|---|---|---|
| . | |||
| . | |||
| . |
รันคำสั่งต่อไปนี้:
# แสดงที่อยู่ IP ทั้งหมดแบบสรุป
ip -brief addr show
# แสดงเฉพาะ IPv4
ip -4 addr show
# แสดงเฉพาะ IPv6
ip -6 addr show
📋 ตารางบันทึกผล 1.2 - IP Addresses:
| Interface | IPv4 Address | Subnet Mask (CIDR) | IPv6 Address |
|---|---|---|---|
| . | |||
| . |
รันคำสั่งต่อไปนี้:
# แสดงตาราง routing
ip route show
# ค้นหาเส้นทางไปยัง Google DNS
ip route get 8.8.8.8
# ค้นหาเส้นทางไปยัง google.com
ip route get $(dig +short google.com | head -1)
📋 ตารางบันทึกผล 1.3 - Routing Table:
| Destination | Gateway | Interface | Metric |
|---|---|---|---|
| default | |||
| . |
📝 คำถาม 1.1: Default Gateway ของคุณคือ IP อะไร?
คำตอบ: _______________________________________________
📝 คำถาม 1.2: เส้นทางไปยัง 8.8.8.8 ใช้ interface ใด?
คำตอบ: _______________________________________________
pingping ใช้โปรโตคอล ICMP ในการทดสอบการเชื่อมต่อ:
| ICMP Type | ชื่อ | คำอธิบาย |
|---|---|---|
| 8 | Echo Request | ส่งคำขอ ping |
| 0 | Echo Reply | ตอบกลับ ping |
| 11 | Time Exceeded | TTL หมดอายุ |
| 3 | Destination Unreachable | ไม่สามารถเข้าถึงได้ |
ค่าที่สำคัญ:
รันคำสั่งต่อไปนี้ตามลำดับ:
# ขั้นที่ 1: ทดสอบ Loopback (ตัวเอง)
ping -c 4 127.0.0.1
# ขั้นที่ 2: ทดสอบ Default Gateway
ping -c 4 <YOUR_GATEWAY_IP>
# ขั้นที่ 3: ทดสอบ DNS Server ภายนอก
ping -c 4 8.8.8.8
# ขั้นที่ 4: ทดสอบ Domain Name
ping -c 4 google.com
📋 ตารางบันทึกผล 2.1 - Ping Tests:
| เป้าหมาย | IP Address | สำเร็จ (✓/✗) | Min RTT | Avg RTT | Max RTT | Packet Loss |
|---|---|---|---|---|---|---|
| localhost (127.0.0.1) | 127.0.0.1 | |||||
| Default Gateway | ||||||
| Google DNS (8.8.8.8) | 8.8.8.8 | |||||
| google.com |
รันคำสั่งต่อไปนี้:
# Payload ขนาดเล็ก (default = 56 bytes)
ping -c 4 -s 56 8.8.8.8
# Payload ขนาดกลาง
ping -c 4 -s 500 8.8.8.8
# Payload ขนาดใหญ่
ping -c 4 -s 1000 8.8.8.8
# Payload ขนาดใกล้ MTU (1472 + 8 ICMP header + 20 IP header = 1500)
ping -c 4 -s 1472 8.8.8.8
📋 ตารางบันทึกผล 2.2 - Payload Size Test:
| Payload Size | Total Size | Avg RTT (ms) | สำเร็จ (✓/✗) |
|---|---|---|---|
| 56 bytes | 84 bytes | ||
| 500 bytes | 528 bytes | ||
| 1000 bytes | 1028 bytes | ||
| 1472 bytes | 1500 bytes |
รันคำสั่งต่อไปนี้:
# TTL = 1 (จะถึงแค่ hop แรก)
ping -c 2 -t 1 8.8.8.8
# TTL = 5
ping -c 2 -t 5 8.8.8.8
# TTL = 10
ping -c 2 -t 10 8.8.8.8
# TTL = 64 (default)
ping -c 2 -t 64 8.8.8.8
📋 ตารางบันทึกผล 2.3 - TTL Test:
| TTL | ผลลัพธ์ | IP ที่ตอบกลับ (ถ้ามี) |
|---|---|---|
| 1 | ||
| 5 | ||
| 10 | ||
| 64 |
📝 คำถาม 2.1: ทำไม TTL=1 จึงไม่ถึงปลายทาง?
คำตอบ: _______________________________________________
_______________________________________________
📝 คำถาม 2.2: จาก TTL ที่ทดสอบ คาดว่ามีกี่ hop ระหว่างคุณกับ 8.8.8.8?
คำตอบ: _______________________________________________
traceroute และ mtrtraceroute ทำงานโดยส่งแพ็กเก็ตที่มี TTL เพิ่มขึ้นทีละ 1:
mtr (My Traceroute) รวม ping และ traceroute เข้าด้วยกัน แสดงสถิติแบบ real-time
รันคำสั่งต่อไปนี้:
# Traceroute แบบ UDP (default)
traceroute -n google.com
# Traceroute แบบ ICMP
traceroute -I -n google.com
# Traceroute แบบ TCP port 443
sudo traceroute -T -p 443 -n google.com
📋 ตารางบันทึกผล 3.1 - Traceroute (เลือก protocol ใดก็ได้):
| Hop | IP Address | RTT 1 (ms) | RTT 2 (ms) | RTT 3 (ms) | หมายเหตุ |
|---|---|---|---|---|---|
| 1 | Gateway | ||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 | |||||
| 6 | |||||
| 7 | |||||
| 8 | |||||
| ... | |||||
| Final | ปลายทาง |
📋 ตารางบันทึกผล 3.2 - Protocol Comparison:
| Protocol | จำนวน Hops ทั้งหมด | Hops ที่ timeout (*) | เวลารวม (ms) |
|---|---|---|---|
| UDP | |||
| ICMP | |||
| TCP/443 |
📝 คำถาม 3.1: ทำไมบาง hop จึงแสดงเป็น * * *?
คำตอบ: _______________________________________________
_______________________________________________
รันคำสั่งต่อไปนี้:
# mtr แบบ report (ส่ง 20 packets)
mtr -r -c 20 -n google.com
📋 ตารางบันทึกผล 3.3 - MTR Report:
| Hop | Host | Loss% | Snt | Last | Avg | Best | Wrst | StDev |
|---|---|---|---|---|---|---|---|---|
| 1 | 20 | |||||||
| 2 | 20 | |||||||
| 3 | 20 | |||||||
| 4 | 20 | |||||||
| 5 | 20 | |||||||
| ... |
📝 คำถาม 3.2: ค่า StDev (Standard Deviation) สูง บ่งบอกถึงอะไร?
คำตอบ: _______________________________________________
_______________________________________________
📝 คำถาม 3.3: mtr มีข้อดีกว่า traceroute อย่างไร?
คำตอบ: _______________________________________________
_______________________________________________
ssสถานะการเชื่อมต่อ TCP:
| State | คำอธิบาย |
|---|---|
| LISTEN | รอรับการเชื่อมต่อ |
| ESTABLISHED | การเชื่อมต่อสมบูรณ์ |
| TIME-WAIT | รอให้แน่ใจว่าแพ็กเก็ตทั้งหมดถึงแล้ว |
| CLOSE-WAIT | ได้รับ FIN แล้ว รอปิด |
Options ที่สำคัญ:
| Option | คำอธิบาย |
|---|---|
-t |
แสดง TCP |
-u |
แสดง UDP |
-n |
แสดง numeric (ไม่ resolve) |
-l |
แสดง listening sockets |
-p |
แสดง process |
-a |
แสดงทั้งหมด |
รันคำสั่งต่อไปนี้:
# แสดง TCP และ UDP listening ports พร้อม process
sudo ss -tunlp
📋 ตารางบันทึกผล 4.1 - Listening Ports (เลือก 5 รายการ):
| Proto | Local Address | Port | State | Process |
|---|---|---|---|---|
| . | ||||
| . | ||||
| . | ||||
| . | ||||
| . |
ขั้นตอนที่ 1: เปิด web browser หรือใช้ curl เพื่อเข้า google.com
# ใช้ curl เปิดการเชื่อมต่อ
curl -s -o /dev/null https://google.com &
ขั้นตอนที่ 2: ตรวจสอบการเชื่อมต่อ
# แสดง established connections ไปยัง port 443
ss -tn state established 'dport = :443'
# แสดงทั้งหมดที่เกี่ยวกับ port 443
ss -tn 'sport = :443 or dport = :443'
📋 ตารางบันทึกผล 4.2 - HTTPS Connections:
| Local Address:Port | Peer Address:Port | State |
|---|---|---|
| . | ||
| . |
รันคำสั่งต่อไปนี้:
ss -s
📋 ตารางบันทึกผล 4.3 - Socket Statistics:
| รายการ | จำนวน |
|---|---|
| Total sockets | |
| TCP total | |
| TCP established | |
| TCP closed | |
| TCP time-wait | |
| UDP |
Terminal 1 (Server):
# สร้าง TCP server listening ที่ port 12345
nc -l -p 12345
Terminal 2 (Client):
# เชื่อมต่อไปยัง server
nc localhost 12345
Terminal 3 (Monitor):
# ตรวจสอบการเชื่อมต่อ
ss -tn 'sport = :12345 or dport = :12345'
📋 ตารางบันทึกผล 4.4 - Netcat Connection:
| Role | Local Address:Port | Peer Address:Port | State |
|---|---|---|---|
| Server | |||
| Client |
📝 คำถาม 4.1: ความแตกต่างระหว่าง LISTEN และ ESTABLISHED คืออะไร?
คำตอบ: _______________________________________________
_______________________________________________
ARP (Address Resolution Protocol) แปลงที่อยู่ IP (Layer 3) เป็นที่อยู่ MAC (Layer 2)
สถานะใน ARP Table:
| State | คำอธิบาย |
|---|---|
| REACHABLE | ยืนยันแล้วว่าใช้งานได้ |
| STALE | หมดอายุ รอการยืนยันใหม่ |
| DELAY | รอส่ง probe |
| FAILED | ไม่สามารถ resolve ได้ |
| PERMANENT | Static entry |
รันคำสั่งต่อไปนี้:
# แสดง ARP table ด้วย ip neighbor
ip neighbor show
# หรือใช้คำสั่ง arp
arp -n
📋 ตารางบันทึกผล 5.1 - ARP Table:
| IP Address | MAC Address | Interface | State |
|---|---|---|---|
| . | |||
| . | |||
| . | |||
| . |
ขั้นตอนที่ 1: ล้าง ARP cache (ต้องใช้ sudo)
# ล้าง ARP cache
sudo ip neighbor flush all
# ตรวจสอบว่า ARP table ว่าง
ip neighbor show
ขั้นตอนที่ 2: Ping ไปยัง Default Gateway
ping -c 1 <YOUR_GATEWAY_IP>
ขั้นตอนที่ 3: ตรวจสอบ ARP table อีกครั้ง
ip neighbor show
📋 ตารางบันทึกผล 5.2 - ARP Changes:
| ขั้นตอน | จำนวน Entries | Entry ใหม่ที่เพิ่ม |
|---|---|---|
| หลัง flush | - | |
| หลัง ping gateway |
📝 คำถาม 5.1: ทำไมต้องมี ARP ในการส่งข้อมูลผ่าน LAN?
คำตอบ: _______________________________________________
_______________________________________________
📝 คำถาม 5.2: ถ้าไม่มี entry ใน ARP table จะเกิดอะไรขึ้นเมื่อส่งข้อมูลไปยัง IP นั้น?
คำตอบ: _______________________________________________
_______________________________________________
tcpdumptcpdump เป็นเครื่องมือจับแพ็กเก็ต (packet capture) แบบ command-line
โครงสร้างคำสั่ง:
tcpdump [options] [filter expression]
Options ที่สำคัญ:
| Option | คำอธิบาย |
|---|---|
-i |
ระบุ interface |
-c |
จำนวนแพ็กเก็ต |
-n |
ไม่ resolve DNS |
-v |
verbose |
-w |
บันทึกลงไฟล์ |
-r |
อ่านจากไฟล์ |
-X |
แสดง hex และ ASCII |
Filter expressions:
| Filter | คำอธิบาย |
|---|---|
host 192.168.1.1 |
กรองตาม IP |
port 80 |
กรองตาม port |
tcp |
เฉพาะ TCP |
udp |
เฉพาะ UDP |
icmp |
เฉพาะ ICMP |
Terminal 1 (Capture):
sudo tcpdump -i any icmp -n -c 10
Terminal 2 (Generate Traffic):
ping -c 4 8.8.8.8
📋 ตารางบันทึกผล 6.1 - ICMP Packets:
| เวลา | Source IP | Dest IP | ICMP Type | Info |
|---|---|---|---|---|
| request | ||||
| reply | ||||
| request | ||||
| reply |
Terminal 1 (Capture):
sudo tcpdump -i any port 53 -n -c 10
Terminal 2 (Generate Traffic):
nslookup google.com
dig facebook.com
📋 ตารางบันทึกผล 6.2 - DNS Packets:
| Direction | Source | Dest | Query Type | Domain |
|---|---|---|---|---|
| Query | A | |||
| Response | A | |||
| Query | A | |||
| Response | A |
Terminal 1 (Capture):
# จับเฉพาะ SYN, SYN-ACK, FIN packets
sudo tcpdump -i any 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0' -n -c 20
Terminal 2 (Generate Traffic):
curl -I https://google.com
📋 ตารางบันทึกผล 6.3 - TCP Handshake:
| # | Source:Port | Dest:Port | Flags | คำอธิบาย |
|---|---|---|---|---|
| 1 | [S] | SYN - Client เริ่มการเชื่อมต่อ | ||
| 2 | [S.] | SYN-ACK - Server ตอบรับ | ||
| 3 | [.] | ACK - Client ยืนยัน | ||
| ... | [F.] | FIN - ปิดการเชื่อมต่อ |
Terminal 1 (Capture):
sudo tcpdump -i any 'tcp and (port 80 or port 443)' -n -c 30
Terminal 2 (Generate Traffic):
curl -I http://example.com
curl -I https://google.com
📋 ตารางบันทึกผล 6.4 - Web Traffic:
| Protocol | Port | จำนวน Packets | หมายเหตุ |
|---|---|---|---|
| HTTP | 80 | ||
| HTTPS | 443 |
ขั้นตอนที่ 1: จับแพ็กเก็ตและบันทึกลงไฟล์
# จับ 50 แพ็กเก็ตและบันทึก
sudo tcpdump -i any -c 50 -w /tmp/capture.pcap
ระหว่างจับ ให้ทำกิจกรรมต่อไปนี้:
# ในอีก terminal
ping -c 3 google.com
curl -s http://example.com > /dev/null
nslookup facebook.com
ขั้นตอนที่ 2: วิเคราะห์ไฟล์ที่บันทึก
# อ่านไฟล์ทั้งหมด
tcpdump -r /tmp/capture.pcap | head -20
# นับจำนวนแพ็กเก็ตแต่ละประเภท
echo "Total packets:"
tcpdump -r /tmp/capture.pcap 2>/dev/null | wc -l
echo "TCP packets:"
tcpdump -r /tmp/capture.pcap tcp 2>/dev/null | wc -l
echo "UDP packets:"
tcpdump -r /tmp/capture.pcap udp 2>/dev/null | wc -l
echo "ICMP packets:"
tcpdump -r /tmp/capture.pcap icmp 2>/dev/null | wc -l
📋 ตารางบันทึกผล 6.5 - Capture Analysis:
| Protocol | จำนวน Packets | เปอร์เซ็นต์ |
|---|---|---|
| Total | 100% | |
| TCP | ||
| UDP | ||
| ICMP |
📝 คำถาม 6.1: ทำไม tcpdump ต้องใช้สิทธิ์ root (sudo)?
คำตอบ: _______________________________________________
_______________________________________________
📝 คำถาม 6.2: ไฟล์ .pcap สามารถเปิดด้วยโปรแกรมอะไรได้บ้าง?
คำตอบ: _______________________________________________
ผู้ใช้แจ้งว่า "เข้าเว็บ google.com ไม่ได้" ให้ใช้เครื่องมือทั้งหมดที่เรียนมาวิเคราะห์ปัญหาอย่างเป็นระบบ
ip -brief link show
ip -brief addr show
| รายการตรวจสอบ | ผลลัพธ์ | ปกติ/ผิดปกติ |
|---|---|---|
| Interface มี state UP | ||
| มี IP Address |
ip route show
ip route get 8.8.8.8
| รายการตรวจสอบ | ผลลัพธ์ | ปกติ/ผิดปกติ |
|---|---|---|
| มี Default Gateway | ||
| Route ไปยัง 8.8.8.8 พบ |
ping -c 2 127.0.0.1
ping -c 2 <GATEWAY_IP>
ping -c 2 8.8.8.8
ping -c 2 google.com
| เป้าหมาย | ผลลัพธ์ | ปกติ/ผิดปกติ |
|---|---|---|
| localhost | ||
| Gateway | ||
| 8.8.8.8 | ||
| google.com |
cat /etc/resolv.conf
nslookup google.com
nslookup google.com 8.8.8.8
| รายการตรวจสอบ | ผลลัพธ์ | ปกติ/ผิดปกติ |
|---|---|---|
| DNS Server ที่ใช้ | ||
| Resolve google.com ได้ |
traceroute -n google.com
| รายการตรวจสอบ | ผลลัพธ์ | ปกติ/ผิดปกติ |
|---|---|---|
| ถึงปลายทางได้ | ||
| จำนวน hops | ||
| มี hop ที่ timeout |
ip neighbor show
| รายการตรวจสอบ | ผลลัพธ์ | ปกติ/ผิดปกติ |
|---|---|---|
| มี entry ของ Gateway | ||
| State เป็น REACHABLE |
# ทดสอบเชื่อมต่อ port 443
nc -zv google.com 443
# ตรวจสอบ connections
ss -tn 'dport = :443'
| รายการตรวจสอบ | ผลลัพธ์ | ปกติ/ผิดปกติ |
|---|---|---|
| เชื่อมต่อ port 443 ได้ |
# Terminal 1: จับแพ็กเก็ต
sudo tcpdump -i any host google.com -n -c 20
# Terminal 2: สร้าง traffic
curl -I https://google.com
| รายการตรวจสอบ | ผลลัพธ์ | ปกติ/ผิดปกติ |
|---|---|---|
| เห็น TCP handshake | ||
| มี response กลับมา |
📋 ตารางสรุปการวิเคราะห์:
| ขั้นตอน | เครื่องมือ | ผลลัพธ์ | สถานะ |
|---|---|---|---|
| 1. Network Interface | ip link/addr | ✅/❌ | |
| 2. Routing | ip route | ✅/❌ | |
| 3. Connectivity | ping | ✅/❌ | |
| 4. DNS | nslookup | ✅/❌ | |
| 5. Path | traceroute | ✅/❌ | |
| 6. ARP | ip neighbor | ✅/❌ | |
| 7. TCP | ss/nc | ✅/❌ | |
| 8. Packets | tcpdump | ✅/❌ |
📝 การวินิจฉัยปัญหา (ถ้าพบ):
ปัญหาที่พบ: _______________________________________________
สาเหตุ: _______________________________________________
แนวทางแก้ไข: _______________________________________________
╔══════════════════════════════════════════════════════════════════╗
║ NETWORK ANALYSIS COMMANDS ║
╠══════════════════════════════════════════════════════════════════╣
║ ip link show │ แสดง network interfaces ║
║ ip addr show │ แสดง IP addresses ║
║ ip route show │ แสดง routing table ║
║ ip route get <IP> │ หาเส้นทางไปยัง IP ║
║ ip neighbor show │ แสดง ARP table ║
╠══════════════════════════════════════════════════════════════════╣
║ ping -c 4 <host> │ ทดสอบการเชื่อมต่อ ║
║ ping -s <size> <host> │ กำหนดขนาด payload ║
║ ping -t <ttl> <host> │ กำหนด TTL ║
╠══════════════════════════════════════════════════════════════════╣
║ traceroute <host> │ ติดตามเส้นทาง (UDP) ║
║ traceroute -I <host> │ ติดตามเส้นทาง (ICMP) ║
║ traceroute -T -p 443 │ ติดตามเส้นทาง (TCP) ║
║ mtr -r -c 20 <host> │ traceroute + statistics ║
╠══════════════════════════════════════════════════════════════════╣
║ ss -tunlp │ แสดง listening ports + process ║
║ ss -tn state established │ แสดง established connections ║
║ ss 'dport = :443' │ กรองตาม destination port ║
║ ss -s │ แสดงสถิติ ║
╠══════════════════════════════════════════════════════════════════╣
║ tcpdump -i <iface> │ จับแพ็กเก็ต ║
║ tcpdump -c <n> │ จำนวนแพ็กเก็ต ║
║ tcpdump -n │ ไม่ resolve DNS ║
║ tcpdump -w <file> │ บันทึกลงไฟล์ ║
║ tcpdump -r <file> │ อ่านจากไฟล์ ║
║ tcpdump host <ip> │ กรองตาม host ║
║ tcpdump port <port> │ กรองตาม port ║
║ tcpdump tcp/udp/icmp │ กรองตาม protocol ║
╚══════════════════════════════════════════════════════════════════╝
| ส่วน | หัวข้อ | คะแนนเต็ม | คะแนนที่ได้ |
|---|---|---|---|
| 1 | คำสั่ง ip (interface, addr, route) | 15 | |
| 2 | คำสั่ง ping | 15 | |
| 3 | คำสั่ง traceroute และ mtr | 15 | |
| 4 | คำสั่ง ss | 15 | |
| 5 | คำสั่ง ip neighbor (ARP) | 10 | |
| 6 | คำสั่ง tcpdump | 20 | |
| 7 | การบูรณาการวิเคราะห์ปัญหา | 10 | |
| รวม | 100 |
คำถามที่ 1: อธิบายลำดับขั้นตอนที่ถูกต้องในการวิเคราะห์ปัญหา "เข้าเว็บไม่ได้"
คำตอบ: _______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
คำถามที่ 2: ความแตกต่างระหว่าง TCP และ UDP ที่เห็นได้จาก tcpdump คืออะไร?
คำตอบ: _______________________________________________
_______________________________________________
_______________________________________________
คำถามที่ 3: ถ้า ping ไปยัง IP address ได้ แต่ ping ไปยัง hostname ไม่ได้ ปัญหาอยู่ที่ใด?
คำตอบ: _______________________________________________
_______________________________________________
คำถามที่ 4: ค่า TTL ในผลลัพธ์ของ ping บอกอะไรเราได้บ้าง?
คำตอบ: _______________________________________________
_______________________________________________
คำถามที่ 5: ยกตัวอย่างสถานการณ์ที่ควรใช้ tcpdump ในการวิเคราะห์ปัญหา
คำตอบ: _______________________________________________
_______________________________________________
_______________________________________________
| รายการ | ข้อมูล |
|---|---|
| ชื่อ-นามสกุล | |
| รหัสนักศึกษา | |
| วันที่ทำแลป |