โปรแกรมตัวนี้ผมเขียนด้วย VB2010 โดยรับค่าวันที่และเวลาจาก time.navy.mi.th ติดต่อโดยใช้ Daytime Protocol โดย Protocol ตัวนี้ทำงานบน TCP พอร์ต 13 หลักการของ Protocol นี้ไม่ซับซ้อนครับ โดยมีลำดับขั้นตอนดังรูปที่ 1
|
รูปที่ 1 ลำดับการทำงานของ Daytime Protocol |
จากรูปที่ 1 เป็นรายละเอียดที่ได้จากโปรแกรม Wireshark จะเห็นได้ว่าที่
- Packet ลำดับที่ 190 ตัว Client ซึ่งก็คือเครื่องของเราได้ทำการส่งคำขอ syn กับ Server
- Packet ลำดับที่ 192 คือการตัวกลับจาก Server ด้วยการ syn และ ack
- Packet ลำดับที่ 193 ตัว Client ทำการ ack กลับ เป็นการเสร็จขั้นตอนในการทำ 3-way handshake ของ TCP
- Packet ลำดับที่ 198 ตัว Server ส่งข้อมูลวันที่ให้กับ Client
- Packet ลำดับที่เหลือเป็นการบอกหยุดการติดตอระหว่าง Client และ Server
ในส่วนของข้อมูลที่ส่งใน Protocol จะเป็นวันที่และเวลาที่ส่งมาในรูปแบบข้อความธรรมดา สามารถนำไปแสดงผลได้ในทันที
|
รูปที่ 2 ข้อมูลวันที่และเวลาที่มาจาก Server |
ในส่วนของโปรแกรมที่เขียนขึ้นมามีหน้าตาดังรูปที่ 3
|
รูปที่ 3 หน้าตาของโปรแกรมทดสอบ |
ตัวโปรแกรมมีสองฟังก์ชันการทำงานคือ
- อ่านค่าเวลาจาก Server
- อ่านค่าเวลาจาก Server พร้อมทั้งตั้งเวลาเครื่อง Client ให้ตรงกับ Server
โปรแกรมตัวนี้ต้องการสิทธิ์ Administrator ในการตั้งเวลาตัวเครื่อง โดยเครื่องที่ใช้งานต้องมี .net framework เวอร์ชัน 2.0 ขึ้นไป เครื่องที่ทดสอบมีระบบวันที่แบบพุทธศักราช ไม่ได้ทดสอบกับเครื่องที่มีปีแบบคริสตศักราช ซึ่งอาจจะมีผลต่อการทำงานของโปรแกรมครับ
แหล่งข้อมูล
ไม่มีความคิดเห็น:
แสดงความคิดเห็น