หลังจากวันนี้เป็นต้นไป บล็อกของผมก็มีเรื่องราวซีรีย์ในทุกสัปดาห์เพิ่มขึ้นอีกหนึ่งอย่าง นั่นก็คือ Wireshark Lab ซึ่งซีรีย์นี้เกิดขึ้นได้เพราะวิชา Computer Network Technology หรือ CNT ที่ผมเรียนปริญญาโท (ปีแรก) อยู่ที่คณะเทคโนโลยีสารสนเทศ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง โดยอาจารย์โชติพัชร์ ภรณวลัยได้สั่งการบ้านแล็บทุกสัปดาห์ และให้ส่งการบ้านโดยการเขียนบล็อก!!!

เพราะฉะนั้นทุกสัปดาห์ ใครที่เข้ามาอ่านบล็อกผมก็จะได้รับความรู้ทางด้านเน็ตเวิร์ก + ประสบการณ์จากการทำการบ้านของผมไปด้วยพร้อมกันครับ (ถ้าผมอู้ไม่เขียน ก็จะไม่มีคะแนนส่งการบ้านเหมือนกัน – -“)

ลักษณะการบ้านแล็บทั้งหมด 11 แล็บนั้น (รู้สึกจะให้ทำแล็บละสัปดาห์) จะเป็นลักษณะของ Wireshark Lab ทั้งหมด ซึ่งแล็บแรกของวันนี้คือ Introduction to Wireshark

ผมชอบคำพูดเริ่มต้นของแล็บนี้ที่บอกความเป็นจริงของการเรียนเน็ตเวิร์กว่า การที่จะรู้การทำงานของเน็ตเวิร์กได้นั้นเราจะต้อง “ดูมัน” และ “เล่นกับมัน”

การที่เราจะดูมันได้นั้นเราจะต้องพึ่งพาซอฟต์แวร์ประเภท Packet Sniffer ซึ่งจะทำงานสองหน้าที่นั่นก็คือ การดักจับแพ็กเกต (Packet capture) ซึ่งจะคอยทำการดักจับข้อมูลทั้งหมดที่วิ่งเข้ามาและวิ่งออกไปจากเครื่องของเราทางเน็ตเวิร์ก และอีกหน้าที่คือการวิเคราะห์ข้อมูลแพ็กเกต (Packet Analyzer) ที่จะทำการวิเคราะห์ข้อมูลแพ็กเกตนั้นๆ ออกมาแสดงผล

Wireshark เป็นโปรแกรมประเภท Packet Sniffer ที่จะดักจับข้อมูลด้วยความช่วยเหลือของ pcap library และจะวิเคราะห์ข้อมูลแพ็กเกตที่ถูกดับจับ มาแสดงผลให้เราเห็นการทำงานของเน็ตเวิร์ก โดยแล็บแรกนี้จะเป็นเพียงแค่การแนะนำให้รู้จักการใช้งาน Wireshark เบื้องต้น รู้จักกับหน้าตาส่วนประกอบต่างๆ ของโปรแกรม การวิเคราะห์ดูข้อมูลเบื้องต้น และปิดท้ายด้วยคำถามท้ายบทซึ่งเป็นส่วนของการบ้านที่จะต้องนำมาตอบในบล็อกนี้นี่เอง

สำหรับคำถามผมจะคงคำถามภาษาอังกฤษไว้ เผื่ออาจจะแปลผิดทำให้คนอ่านสับสนได้

  1. List up to 10 different protocols that appear in the protocol column in the unfiltered packet-listing window in step 7 above.
    • HTTP
    • UDP
    • ICMP
    • MSNMS
    • TCP
    • DNS
    • SSDP
    • IRC
    • IGMP
    • ARP
      wireshark_intro_01.png
  2. How long did it take from when the HTTP GET message was sent until the HTTP OK reply was received? (By default, the value of the Time column in the packet-listing window is the amount of time, in seconds, since Wireshark tracing began. To display the Time field in time-of-day format, select the Wireshark View pull down menu, then select Time Display Format, then select Time-of-day.)
    • 0.502572 second
  3. What is the Internet address of the gaia.cs.umass.edu (also known as www- net.cs.umass.edu)? What is the Internet address of your computer?
    • Internet address of the gaia.cs.umass.edu is 128.119.245.12.
      My internet address is 192.168.2.101.
      wireshark_intro_02.png
  4. Print the two HTTP messages displayed in step 9 above. To do so, select Print from the Wireshark File command menu, and select “Selected Packet Only” and “Print as displayed” and then click OK.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
No.     Time            Source                Destination           Protocol Info
     51 12:41:01.716937 192.168.2.101         128.119.245.12        HTTP     GET /wireshark-labs/INTRO-wireshark-file1.html HTTP/1.1 
 
Frame 51 (555 bytes on wire, 555 bytes captured)
Ethernet II, Src: Dell_3a:62:8e (00:1c:23:3a:62:8e), Dst: SmcNetwo_ca:32:48 (00:04:e2:ca:32:48)
Internet Protocol, Src: 192.168.2.101 (192.168.2.101), Dst: 128.119.245.12 (128.119.245.12)
Transmission Control Protocol, Src Port: 33858 (33858), Dst Port: http (80), Seq: 1, Ack: 1, Len: 489
Hypertext Transfer Protocol
    GET /wireshark-labs/INTRO-wireshark-file1.html HTTP/1.1\r\n
        Request Method: GET
        Request URI: /wireshark-labs/INTRO-wireshark-file1.html
        Request Version: HTTP/1.1
    Host: gaia.cs.umass.edu\r\n
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008060309 Firefox/3.0\r\n
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
    Accept-Language: en-us,en;q=0.5\r\n
    Accept-Encoding: gzip,deflate\r\n
    Accept-Charset: UTF-8,*\r\n
    Keep-Alive: 300\r\n
    Connection: keep-alive\r\n
    If-Modified-Since: Sat, 07 Jun 2008 05:39:02 GMT\r\n
    If-None-Match: "8734b-51-feed2980"\r\n
    Cache-Control: max-age=0\r\n
    \r\n

ก็จบการบ้านแล็บแรก Introduction to Wireshark ทั้งหมด 4 ข้อเพียงเท่านี้

สุดท้ายคือ ผมชอบประโยคเกริ่นนำของชีทแล็บนี้มากที่ว่า

“Tell me and I forget. Show me and I remember. Involve me and I understand.”

“จับปลาให้หนูหนึ่งตัว หนูกินได้หนึ่งวัน
จับปลาให้หนูสองตัว หนูกินได้สองวัน
สอนให้หนูจับปลาเป็น หนูกินได้ตลอดชีวิต”

ปล. ภาษาไทยต่อท้ายผมเอามาเทียบกับคำคมในชีวิตผมเองนะครับ ไม่ได้แปลจากสำนวนหลักแต่อย่างใด

ข้อมูลเพิ่มเติม: แล็บชีท Introduction to Wireshark, Wireshark Official Website