เข้าระบบ
username :  
password :  
เก็บสถานะ :  
 
:: อ่านรายละเอียด ::
หัวเรื่อง : การศึกษาการทำงานของโปรแกรม TEAMVIEWER 8 ด้วย Wireshark
โดย : 5617660004 ผู้อ่าน : 4734 ครั้ง
เขียนเมื่อวันที่ : 27/09/2013 14:25:02
หมวดหมู่ : Internet Application
เก็บหน้านี้ไว้ | พิมพ์หน้านี้ | แสดงความคิดเห็น กลับไปหน้าที่แล้ว

การศึกษาการทำงานของโปรแกรม TEAMVIEWER 8 on PC ด้วย Wireshark

 

Description: Description: TeamViewer (ควบคุมเครื่องคอมพิวเตอร์ ระยะไกล เหมือน Remote Desktop)TeamViewer 8

โปรแกรม ควบคุม เครื่องคอมพิวเตอร์ เครื่องอื่น ระยะไกล ผ่านเครือข่าย

TeamViewer8 โปรแกรม เหมือน Remote Desktop เครื่องผ่าน Internet คุณสามารถควบคุมคอมพิวเตอร์ระยะไกล จากทุกที่ในโลก

สำหรับ  TeamViewer เป็นสุดยอดโปรแกรมควบคุมเครื่องคอมพิวเตอร์ในระบบ Windows OS (ทุกเวอร์ชั่น ล่าสุด Windows 8), Mac, Linux, iOs, Android, Windows Phone 8 แบบทางไกล (เหมือน Remote Desktop) ที่ได้รับความนิยมทั่วโลกแจกฟรี ด้วยความรวดเร็วในการทำงาน เรียกได้ถึงแม้จะอยู่ต่างประเทศก็สามารถเข้ามาควบคุมเครื่องคอมที่อยู่เมืองไทย เพียงติดตั้ง TeamViewer   เอาไว้ทั้งสองฝั่ง ได้แบบแทบจะไม่รู้สึกถึงความช้า เรียกได้ว่า ควบคุมระยะไกล กันได้แบบสะดวก



หลักการของโปรแกรม TeamViewer  

โปรแกรมนี้จะใช้ Partner ID  ซึ่งจะทำการลงทะเบียน (Register) และทาง TeamViewer ก็จะแจกจ่ายมาให้เราตั้งแต่ตอนแรก เป็นตัวกำหนด ให้สามารถวิ่งเข้าถึงเครื่องปลายทาง เรียกได้ว่าเครื่องปลายทางอยู่ไหน IP  เปลี่ยนเป็นอะไร อยู่แห่งใด ก็ไม่ต้องมาเปลี่ยนค่าใหม่ให้เสียเวลา เหมือนในอดีต สนับสนุนภาษาไทย ข้อสังเกตุในการเชื่อมต่อโปรแกรมจะทำการ Generate Password ใหม่ทุกครั้งเมื่อทำการเปิดโปรแกรมขึ้นมาใช้งานใหม่ และมีการเข้ารหัสแบบ RSA และ AES (256 bit) เพื่อป้องกันการเข้าถึงของผู้ที่ไม่ได้รับอนุญาต

TeamViewer Features

  • การควบคุมระยะไกล ( Remote Control)

 

  • การประชุม / การนำเสนอ ( Meeting)

 

 
  • ลักษณะการใช้งานเสริมได้แก่ File transfer, Chat , My Video, Voice over IP , VPN

 

TeamViewer Version 8 Features (สิ่งที่เพิ่มเข้ามาใน TeamViewer เวอร์ชั่น 8) :

  • Session handover from one expert to another : หากคนที่ Remote เข้าไปไม่สามารถแก้ไขปัญหาได้ สำหรับโปรแกรม TeamViewer คุณสามารถเชิญ (Invite) คนอื่น หรือผู้เชี่ยวชาญ ที่อยู่ในรายการติดต่อ (Contact Lists) เข้ามาช่วยแก้ไขปัญหาร่วมกัน พร้อมกันได้ทันที
  • Comment on sessions for billing documentation : คุณสามารถ เขียนคอมเมนต์ หรือ บันทึกสั้นๆ หลังปิดการควบคุมเครื่องปลายทาง เพื่อแจ้งเตือน หรือบอกกล่าว เพื่อนร่วมงานว่า เข้าไปทำอะไรมาบ้าง โดยผ่าน TeamViewer Management Console ( จะต้องไปลงทะเบียนใช้งาน ในเว็บ)
  • Share selected groups with other TeamViewer accounts : คุณสามารถแชร์ รายการติดต่อของลูกค้าให้กับเพื่อนร่วมงานของคุณ เพื่อให้เข้าถึงกลุ่มของลูกค้าคุณพร้อมกันได้ ในเวลาอันรวดเร็ว ซึ่งสามารถกำหนดรายสิทธิ์ หรือ ข้อจำกัดในการใช้งานได้ (Read or Write Permissions) อย่างละเอียด เครื่องต่อเครื่อง
  • Easy remote printing in your home office : คุณสามารถสั่งพิมพ์งาน (Print) เอกสาร (ที่อยู่ในเครื่องคุณที่บ้าน) ผ่านโปรแกรม TeamViewer ไปยังเครื่องคอมพิวเตอร์ ที่ออฟฟิศได้ ขณะที่คุณกำลังนั่งทำงาน
  • Schedule online meetings easily in Microsoft Outlook : มีระบบเชื่อมต่อการนัดหมายการมีตติ้ง และ ปฏิทินนัดหมาย กับโปรแกรม Microsoft Outlook โดยจะมีปุ่มชื่อ "New Meeting" ของ TeamViewer เข้าไปปรากฏแทรกอยู่ในโปรแกรม Outlook ซึ่งจะมีระบบแจ้งเตือนเมื่อใกล้ถึงเวลานัดหมาย
  • Session recording, including sound and video for perfect documentation : มีระบบการบันทึก (Record) การใช้งานบนเครื่องลูกค้า หรือ เครื่องที่รีโมตเข้าไป ซึ่งจะสามารถทำให้รู้ว่าการเข้าไปในครั้งนี้ ทำอะไรลงไปบ้าง รวมไปถึงบันทึกการแก้ไขปัญหาต่างๆ เผื่อสามารถเก็บเอาไว้ใช้แก้ไขปัญหา กับครั้งหน้า หรือ ครั้งต่อๆ ไปได้
  • Remote sound and video : คุณสามารถได้ยินเสียงแจ้งเตือนจากระบบปฏิบัติการ เสียงเพลง หรือ วีดีโอ ที่เกิดขึ้นในเครื่องที่ Remote เข้าไปได้เหมือนนั่งอยู่บนหน้าจอคอมพิวเตอร์เครื่องนั้นจริงๆ แต่ทั้งนี้ทั้งนั้น ประสิทธิภาพจะดีหรือไม่ ขึ้นอยู่กับ ความเร็วอินเตอร์เน็ตที่คุณเชื่อมต่ออยู่ในช่วงเวลานั้นๆ ด้วย
  • Remote account logout : คุณสามารถใช้ระบบ TeamViewer Management Console เพื่อเข้าไปสั่ง Logout ออกจากระบบได้จากภายนอก ในกรณีที่คุณลืม Logout ออกจากเครื่องที่ Remote เข้าไป
  • Automatically log out of operating systems after remote access : มีระบบ Logout ออกจากระบบอัตโนมัติ เมื่อการเชื่อมต่อสิ้นสุดลง หรือ มีปัญหาในการเชื่อมต่อไปยังเครื่องที่ Remote เพื่อป้องกันปัญหา การใช้งานโดยไม่ได้รับอนุญาต โดยคนอื่น ที่อาจอยู่หน้าเครื่องคอมพิวเตอร์ในขณะนั้นๆ

ข้อดีของ TeamViewer

  • เป็นโปรแกรมฟรีแวร์ที่สามารถควบคุมคอมพิวเตอร์ของอีกฝ่ายได้เป็นอย่างดี
  • ใช้งานง่าย ลงโปรแกรมแล้วสามารถใช้งานได้ทันที
  • เชื่อต่อผ่านเครือข่ายอินเตอร์เน็ต

ข้อเสียของ TeamViewer

  • ในการควบคุมคอมพิวเตอร์อีกฝ่ายจะเกิดการหน่วงและกระตุกอยู่บ้าง ทั้งนี้ขึ้นอยู่กับความเร็วของอินเตอร์เน็ตของทั้งสองฝั่งด้วย
  • หากเวอร์ชั่นของโปรแกรมไม่ตรงกัน จะไม่สามารถเชื่อมต่อกันได้

*****************************************************************************************************************************************************

Analysis TeamViewer with Wireshark

โปรโตคอลที่ใช้งานของ TeamViewer

1. Transmission Control Protocol ( TPC) เป็นโปรโตคอลที่ใช้ในการส่งข้อมูลแบบ Connection-Oriented ลักษณะการส่งข้อมูลมีการสร้างการเชื่อมต่อกับเครื่องปลายทางก่อนที่จะส่ง ซึ่งมีการตรวจสอบข้อมูลว่าส่งถึงผู้รับหรือไม่ หากข้อมูลที่ส่งไม่ถึงผู้รับจะมีการส่งใหม่ โปรแกรมเลือก TCP หมายเลขพอร์ต 5938

2. User Datagram Protocol ( UDP) เป็นโปรโตคอลที่ใช้ในการส่งข้อมูลแบบ Connectionless ลักษณะการส่งข้อมูลไม่มีการสร้างการเชื่อมต่อก่อนที่จะส่งข้อมูลให้ปลายทาง ไม่สนใจว่าปลายทางจะได้รับข้อมูลนั้นหรือไม่ โปรแกรมเลือก UDP หมายเลขพอร์ต 5938

3. Domain Name System Protocol ( DNS) เป็นโปรโตคอลที่ใช้ในการแปลง hostname เป็น IP Address ใช้หมายเลขพอร์ต 53

4. Transport Layer Security (TLSV1) เป็นโพรโทคอล ที่ถูกใช้เพื่อทำการแลกเปลี่ยน key หรือ certificate ระหว่าง TeamViewer Server กับเครื่องของผู้ใช้งานทั้ง 2 ฝั่งโดย Protocol นี้ทำงานอยู่บนชั้น network layer และเป็นการส่งข้อมูลแบบ secure

 

วิเคราะห์การทำงานของโปรแกรม

การใช้งานโปรแกรมจะทำผ่าน server ของ TeamViewer เองโดยเป็นตัวกลางสำหรับบอกการเริ่มต้นเชื่อมต่อทั้ง 2 ฝั่งหลังจากเสร็จสิ้นการตรวจสอบ password จึงจะให้เครื่องต้นทางและปลายทางทำการติดต่อกันเอง

การจับการทำงานด้วย Wireshark

 

1. เมื่อทำการเปิดโปรแกรมและได้ทำการ Remote Access จะมีการตรวจสอบการเชื่อมต่อกับ server โดยเครื่องต้นทาง (192.168.1.104) จะทำการติดต่อ Teamviewer server ผ่าน Protocol TLSV1 ด้วยการส่ง Hello ไปและถ้าสามารถเชื่อมต่อกับ server ได้ ทาง server จะส่งข้อความ Hello กลับมาผ่าน Protocol TLSV1 เช่นกัน จากนั้นทาง Server จะร้องขอ Certificate จากเครื่องต้นทาง และทำการแลกเปลี่ยน Key และมีการทำ Encrypted Handshake ขึ้นเมื่อเครื่องต้นทางได้รับข้อมูลและทำการ ACK ตอบกลับเครื่อง server จะทำการส่ง application data มาให้เครื่องต้นทางและทำการส่งรหัสกันอีกครั้งก่อนที่เครื่องต้นทางจะส่ง Application Data กลับไป

เมื่อทำการ filter เฉพาะ DNS เราจะพบว่าทุกครั้งที่เริ่มติดต่อกับทาง teamviewer server จะเริ่มต้นด้วยการใช้ DNS ทุกครั้งเพื่อเริ่มการติดต่อ

2. หลังจากเครื่องต้นทาง (192.168.1.104) ทำการแลกเปลี่ยน Key และ Certificate กับ TeamView server เสร็จจะทำการติดต่อไปยัง ping3.teamviewer.com ผ่านทาง port 5938 ก่อนโดยมีการทำ 3wayhandskake เกิดขึ้นหลังจากนั้นจะทำการแลกเปลี่ยนคีย์ที่สำหรับใช้เข้ารหัสจากเครื่องต้นทางเมื่อทำการแลกเปลี่ยนเสร็จสิ้นเครื่องต้นทางจะส่ง FIN เพื่อบอกกับทาง server เพื่อเสร็จสิ้นการเชื่อมต่อ หลังจากนั้นจะทำการเชื่อมต่อไปยัง master5.teamviewer.com เพื่อทำการส่ง Partner ID และ Password ไปยัง TeamViewer server เมื่อทำการตรวจสอบว่าถูกต้องจะมีการส่ง FIN จากเครื่องต้นทางและปลายทางเพื่อหยุดการติดต่อและจะส่งต่อไปยัง client.teamviewer.com เพื่อสร้างการติดต่อไปยังเครื่องปลายทางต่อไป

ภาพการทำ 3wayhandshake ที่ ping3.teamviewer.com ผ่าน Protocol TCP และ Port 5938 และการแลกเปลี่ยน Key

 

ภาพการทำ 3wayhandshake ที่ master5.teamviewer.com ผ่าน Protocol TCP และ Port 5938 และการส่ง Partner ID และ Password เพื่อตรวจสอบ

 

**เนื่องจากได้ลองทำการจับการเชื่อมต่อทางฝั่งของเครื่องปลายทางภายหลังเพิ่มเติมจึงทำให้หมายเลข IP ที่ใช้เปลี่ยนหมายเลขไปเนื่องจากไม่ได้ทำการ fix IP ไว้ดังนั้นขอให้ทำความเข้าใจว่า IP ปลายทางในรูปนี้คือ IP 192.168.1.102 เท่ากับ IP 192.168.1.105 ครับ**

3. หลังจากเครื่องต้นทาง (192.168.1.104) ได้ทำการเชื่อมต่อไปยัง client.teamweaver.com แล้วทางฝั่งเครื่องปลายทาง (192.168.1.105) ซึ่งตอนนี้เครื่องปลายทางได้ทำการสร้างตัวเองเป็น server ขึ้นมาเช่นกัน (omviserver) และมีการติดต่อกลับไปยังเครื่องต้นทาง หลังนั้นจึงทำการติดต่อกับ teamviewer server ผ่านทาง Protocol TCP โดย Port 5938 และมีการทำ 3wayhandshake เกิดขึ้นจากนั้นจึงทำการรับ Applicationdata เข้ามาและทำการเปิดให้ทำการ Remote จากเครื่องต้นทางต่อ

 

4. เมื่อเครื่องต้นทาง (192.168.1.104) ทำการติดต่อไปยัง client.teamviewer.com แล้ว ทาง teamviewer server จะทำการสร้างการเชื่อมต่อไปยังเครื่องปลายทาง (192.168.1.105) โดยผ่าน Protocol UDP ที่ port 57838 และสามารถทำการเริ่ม Remote Access เครื่องปลายทางได้ทันที

 

ระหว่างการเชื่อมต่อกับเครื่องปลายทางจะมีการติดต่อหรือถูกติดต่อจาก teamviewer server เป็นระยะเพื่อตรวจสอบว่ายังมีการเชื่อมต่อกับเครื่องปลายทางอยู่

 

5. เมื่อทำการยกเลิก Remote Access จะเกิดการทำ 4wayhandshake ขึ้นระหว่างเครื่องต้นทาง (192.168.1.104) กับ teamviewer server โดยเริ่มจากเครื่องต้นทางจะส่ง FIN, ACK ไปยัง teamviewer server จากนั้น teamviewer server จะทำการส่ง FIN, ACK กลับมาที่เครื่องต้นทาง เมื่อเครื่องต้นทางได้รับจะทำการส่ง ACK กลับไปยัง teamviewer server และ teamviewer server จะทำการส่ง ACK กลับไปยังเครื่องต้นทางเพื่อบอกว่าได้รับรู้การยกเลิกการ Remote Access ไปยังเครื่องปลายทางแล้ว

**เนื่องจากได้ลองทำการจับการเชื่อมต่อทางฝั่งของเครื่องปลายทางภายหลังเพิ่มเติมจึงทำให้หมายเลข IP ที่ใช้เปลี่ยนหมายเลขไปเนื่องจากไม่ได้ทำการ fix IP ไว้ดังนั้นขอให้ทำความเข้าใจว่า IP ปลายทางในรูปนี้คือ IP 192.168.1.102 เท่ากับ IP 192.168.1.105 ครับ**

6. ทางฝั่งปลายทางก็มีการทำ 4 wayhandshake เช่นกันเมื่อทางเครื่องต้นทาง (192.168.1.104) ได้ทำการส่ง FIN เพื่อยกเลิกการ Remote Access เครื่องปลายทาง (192.168.1.105 หรือ omviserver) ก็มีการส่ง PSH, ACK ไปยัง teamviewer server เช่นกัน เมื่อทาง server ได้รับแล้วจึงทำการส่ง PSH, ACK กลับไปยังเครื่องปลายทาง และเครื่องปลายทางได้ทำการส่ง FIN, ACK กลับเพื่อบอกว่าจะทำการยกเลิกการ Remote Access กับทาง Server สุดท้าย Server จึงทำการส่ง PSH, ACK กลับไปยังปลายทางอีกครั้งเพื่อบอกว่าได้ทำการยกเลิกการเชื่อมต่อ

เมื่อทางฝั่งเครื่องปลายทางได้ทำการยกเลิกการเชื่อมต่อกับ Server แล้ว ทาง teamviewer server จะมีการร้องขอเครื่องปลายทางให้ทำการแลกเปลี่ยน Certificate อีกครั้งเหมือนตอนที่เครื่องต้นทางได้ทำการเชื่อมต่อไปยัง TeamViewer server ในครั้งแรก

 

สรุปการทำงานของการทำ Remote Access ในโปรแกรม TeamViewer

 

ขอขอบคุณข้อมูลจาก

  • http://www.teamviewer.com
  • http://www.msit.mut.ac.th/newweb/phpfile/show.php?Qid=7577
  • http://www.msit.mut.ac.th/newweb/phpfile/show.php?Qid=7724
  • http://www.thaiware.com
  • http://www.youtube.com

 

ทีมงานผู้จัดทำ

  • นาย จิรภาส ทองเต็ม ID: 5617660004
  • นาย ณโม ปี่ทอง ID: 5617660005
  • นาย เศรษฐวุฒิ กังวานสกล ID: 5617660006

 

กลับไปหน้าที่แล้ว
เรียงลำดับคำตอบ :


  ส่วนแสดงความคิดเห็น
หน้าที่ 1
ความคิดเห็นที่ 2     โพสเมื่อ :17/08/2014 23:06:12
Reply by :
5717670019
ตำแหน่ง:
Guest
อ้างอิงจาก คุณ รุ่นน้อง ป.ตรี มหานคร
จะทำยังไงให้เราใช้งาน teamviewer ได้ตลอดเวลา ไม่จำกัดวัน ไม่จำกัดเวลา ไม่จำกัดครั้งในการเชื่อมต่อ

เวลาที่มันขึ้นหมดอายุ หรือมันจำกัดเวลาใช้ ลองเปลี่ยน Mac Address >>ลบออก>> Install ใหม่ครับ ผมใช้วิธีนี้ตลอด มันจะใช้ได้พักนึ่ง พอมันเป็นอีกก็ทำใหม่

ตอบกลับ | อ้างอิง

ความคิดเห็นที่ 1     โพสเมื่อ :3/10/2013 10:29:52
Reply by :
รุ่นน้อง ป.ตรี มหานคร
ตำแหน่ง:
Guest
จะทำยังไงให้เราใช้งาน teamviewer ได้ตลอดเวลา ไม่จำกัดวัน ไม่จำกัดเวลา ไม่จำกัดครั้งในการเชื่อมต่อ
ตอบกลับ | อ้างอิง

หน้าที่ 1