ที่มา : "http://www.blognone.com/node/44038"
ข้อมูลไม่ลับ ที่ผู้ให้บริการInternetไม่อยากให้คุณรู้
การเมืองบ้านเรานั้นมีการคดโกงกันหลายส่วน ซึ่งเป็นปัญหาที่เราควรช่วยกันแก้ไข วงการสื่อสารบ้านเรานั้นก็มีการหมกเม็ดนั่นนิดนี่หน่อยเช่นกัน
วันนี้ผมอยากเขียนถึงผู้ให้บริการ Internet (หรือที่เรียกกันเป็นศัพท์เทคนิคว่า ISP) เจ้าหนึ่งครับ เราจะไปดูและรู้ทันกลเม็ดลูกไม้ต่างๆที่เขานำมาใช้กัน แต่ก่อนหน้านั้นผมขอเกริ่นนำพอเป็นพิธีก่อนนะครับ
ผมเป็นคนหนึ่งที่ใช้ Internet ADSL เหตุผลที่ติดตั้ง Internet ชนิดนี้ไว้ที่บ้าน เพราะมีเบอร์โทรศัพท์ของผู้ให้บริการโทรศัพท์แห่งหนึ่งอยู่และเขาก็ให้บริการ Internet ด้วย
ผมแปลกใจเพราะผู้คนต่างบอกว่า Internet เจ้านี้มีคุณภาพดีที่สุด แต่ "คุณภาพ" ที่คนเขาพูดถึงกันนี้น คงจะหมายถึง "ความเร็ว" อย่างเดียวหรือเปล่าผมไม่แน่ใจ สิ่งที่ผมเห็นคือผู้ให้บริการ Internet เจ้านี้ใส่ลูกเล่นทุกเม็ด เพื่อแลกกับความเร็ว ใส่กลเม็ดต่างๆทำทุกวิถีทางให้คนตรวจสอบไม่ได้ (หรือตรวจสอบยากขึ้น) ว่า Internet ของเขาช้า
เราอาจลืมดูไปว่าเราเสียอะไรไปบ้างเพื่อแลกมากับความเร็ว ซึ่งเป็นจุดที่ผมอยากชี้ให้เห็น
อ่านถึงตรงนี้ คงมีหลายคนอยากรู้ว่า ตกลงแล้ว ISP ที่ผมพูดถึงนี้เป็นของเจ้าไหน?
ตัวเองกำลังใช้งานอยู่หรือเปล่า? และถ้ากำลังใช้งานอยู่จริง คงอยากเห็นว่าตัวเองเสียอะไรไปเพื่อแลกกับความเร็ว และความเร็วนี่มันมาจากไหน? สายส่งข้อมูลได้เร็วจริงๆ หรือคุณแค่โดนหลอกหรือเป็นเทคนิคเพิ่มความเร็วที่ดีกับทุกฝ่าย?
ผมสามารถตอบหลายคำถามได้ด้วยการทดลองเพียงการทดลองเดียว ง่ายๆ
คุณผู้อ่านลองเข้าไปที่เว็บ
"http://www.google.com/speedtest/random350x350.jpg?x=1234567891011&y=1"
(โดยไม่ใช้ plug-in จำพวก HTTPS Everywhere)
ตอบคำถามผมหนึ่งข้อ คุณเห็นอะไรเกี่ยวกับ Google อยู่ในหน้าเว็บนั้นหรือไม่?
ถ้าไม่เห็น: ยินดีด้วยคุณใช้ Internet ยี่ห้อเดียวกับผม คุณคงรู้แล้วล่ะว่าผมพูดถึงบริษัทไหน เราจะไปดูกันว่าเราเสียอะไรไปเพื่อแลกกับความเร็ว
สำหรับคนที่เห็นว่ามันเป็นหน้าเว็บของ Google ก็อย่าเพิ่งนิ่งนอนใจไป ผมคาดการณ์ว่าหลังบทความนี้ออกสู่ Internet ไม่นานวิธีตรวจสอบนี้จะใช้ไม่ได้ผล วิธีนี้เป็นsignatureหนึ่ง ที่ผมคิดขึ้นทำให้คนที่ไม่รู้รายละเอียดทางเทคนิคมากนักตรวจสอบได้ด้วยตนเอง วิธีตรวจแบบละเอียดจะเขียนไว้ทีหลังครับ
นี่คือสิ่งที่ผม (และผู้ร่วมชะตากรรมคนอื่นๆ) เห็น

ก่อนที่เราจะไปดูกันต่อว่ามันเกิดอะไรขึ้น ผมขอเคลียร์ข้อสงสัยสำหรับคนที่เห็นแบบเดียวกันก่อนนะครับ
คำถามคือ นี่เป็นภาพของ Google ที่เขาใช้เป็นส่วนประกอบของอะไรบางอย่างหรือเปล่า?
ให้คุณลองทำอย่างนี้นะครับ (กรณีที่วิธีทดสอบนี้ยัง work อยู่นะ)
ให้ลองไปดูที่
"http://www.yahoo.com/speedtest/random350x350.jpg?x=1234567891011&y=1"
และ
"http://www.amazon.com/speedtest/random350x350.jpg?x=1234567891011&y=1"
แล้วตอบให้ได้ว่า ทำไมภาพเดียวกันถึงไปอยู่ในเว็บดังได้ตั้ง 3 เว็บ
คำตอบมีเพียงหนึ่งเดียว นั่นไม่ใช่ภาพของ Google ครับ ไม่ใช่ของ Yahoo กับ Amazon ด้วย
และส่วนอื่นๆ ของโลกเขาไม่ได้เห็นแบบเดียวกับเรา
หลายคนคงเดาถูกแล้วว่าเราถูกสับเปลี่ยนข้อมูลครับ
หรือที่มีศัพท์เทคนิคเรียกว่าการทำ man-in-the-middle attack
ไอ้เจ้า man บลาๆ นี่มันมีหลักการยังไงกัน? และมันเกิดขึ้นได้อย่างไร?
ทำไมต้องเอารูปแปลกๆ ไปยัดให้เป็นของ Google? ทำไมต้องขนผักทางรถไฟ?
อาจมีคำถามเกิดขึ้นมากมาย ทำให้ผมอยากให้คุณทุกคนได้อ่านรายงานโปรเจคจบปริญญาตรีของผม ที่ผมคิดว่าเขียนอธิบายไว้ได้ดีและเข้าใจง่ายมาก แต่รู้สึกว่าจะเป็นลิขสิทธิ์ของมหาวิทยาลัยไปเรียบร้อยแล้ว (มั้ง)
ดังนั้นผมเขียนใหม่ก็ได้
ผมอยากนำเสนอ Internet ในมุมมองใหม่ มีภาพให้ดูด้วย
Internet หน้าตาเป็นอย่างนี้ครับ

ภาพแผนที่ Internet เดือนมกราคม พศ.2548 ขอขอบคุณภาพจาก OpteProject http://opte.org/
มันรูปร่างเหมือนเครือข่ายอะไรสักอย่างนะครับ
Internet เป็นการโยงเชื่อมต่อกันของ node ต่างๆ นี่เอง (<-อ่านแล้วไม่รู้เรื่อง)
เรามามองมันใหม่ นึกถึงตอนเด็กๆ ไม่รู้คุณเคยเล่นเหมือนผมรึเปล่า
ที่เอาแก้วพลาสติกมาเจาะรูที่ตูด แล้วขึงเชือกเข้าด้วยกัน ดึงให้ตึงๆ แล้วพูดกับเพื่อนในระยะไกล
เรามามองว่า Internet คือ คนบ้า (แต่ไม่โง่) กลุ่มหนึ่ง ที่เผอิญที่บ้านเป็นโรงงานผลิตแก้วพลาสติก
ไอ้คนกลุ่มนี้มันทำของเล่นที่ว่านี่มาเพียบเลย แล้วก็ยกพวกมาเล่นกันสัก 1000 คน
นี่แหละครับที่มาของแผนที่ Internet ทีคุณเพิ่งได้เห็นไป มันคล้ายไอ้บ้าที่เล่นแก้วพลาสติกนี่แหละครับ
ทีนี้มันเกี่ยวกับ man บลาๆ ยังไง?
เรามาคิดกันว่า สมมุติไอ้บ้าอลิสอยากคุยกับไอ้บ้าบ๊อบ (เรียกไอ้บ้าเพราะอยู่กลุ่มเล่นแก้วพลาสติกแบบเว่อร์ๆ) นะครับ
แต่เผอิญว่าแก้วพลาสติกของอลิสไม่ได้โยงเชื่อมกับแก้วของบ๊อบ
อลิสเลยใช้วิธีบอกเพื่อนคนอื่นให้บอกต่อกันไปเรื่อยๆ จนข้อความถึงบ๊อบครับ
(หรืออาจเรียกว่า Relay ข้อความ,
หรืออาจมองว่าไอ้บ้ากลุ่มนี้มันไม่ได้เล่นแก้วพลาสติกธรรมดา
แต่มันยังเล่น "เกมกระซิบ" กันด้วย <-สมัยนี้รู้จักเกมนี้หรือเปล่านี่?)
Internet ก็ทำงานแบบเดียวกัน
สำหรับผู้ใช้ Windows ทั้งหลาย ใช้โปรแกรม tracert กันเป็นหรือเปล่า?
โปรแกรมนี้เป็นโปรแกรมหาเส้นทางแบบคร่าวๆ ว่าคอมพิวเตอร์ของเรา ต่อกับอีกเครื่องที่อยู่ใน Internet ได้อย่างไร
เดี๋ยวผมใช้ให้ดู

ภาพนี้ผมลองหาดูว่า คอมพิวเตอร์ของผม เชื่อมต่อกับ blognone ยังไง
(ผมไม่ censor IP Address เพราะผมไม่เชื่อว่าสิ่งที่ผมเขียนอยู่เป็นเรื่องที่ผิด แม้อาจจะเกิดความขัดแย้งขึ้น ผมก็เชื่อในสิ่งที่ผมทำอยู่ดี)
ตีความได้ว่า ทีแรกคอมพิวเตอร์ของผม บอกข้อความกับ router (192.168.0.1) ให้มันบอกต่อ
มันก็บอกต่อไปเรื่อยๆ จนถึง blognone (203.150.228.244)
จะเห็นได้ว่า กว่าข้อมูลจะถึง blognone มันต้องถูกส่งผ่านคอมพิวเตอร์กลางทางถึง 8 เครื่อง
กว่าข้อความของอลิสจะส่งถึงบ๊อบ ก็ต้องผ่านคนตั้ง 8 คน
สมมุติว่ามีตัวอิจฉาในละครหลังข่าว ชื่ออีฟเล่นแก้วพลาสติกอยู่ด้วย
แทนที่จะส่งคำรักของอลิสไปถึงบ๊อบกลับพูดให้ทั้งคู่เข้าใจผิดกัน
(เป็นเรื่องที่ทำได้ถ้าอีฟเป็นทางผ่านของข้อความ)
อีฟนี่แหละครับ man in the middle
ทำนิสัยคล้ายผู้ให้บริการ Internet ที่เราใช้บริการอยู่นี่แหละ
กลิ่นตุๆ
คำถามถัดไปคือ ไอ้ที่ผมลองเอามาให้พิมพ์เนี่ย
"/speedtest/random350x350.jpg?x=1234567891011&y=1"
มันคืออะไร? ทำไมต้องเอาไปยัดให้ Google, Yahoo, ... ด้วย?
เราลองมองมุมของเขาดูดีกว่า
ผมขอถามคุณว่า "ถ้าคุณจะทดสอบว่า Internet ของคุณ เร็วแค่ไหน คุณจะทำยังไง?"
คำถามที่ผมเพิ่งถามไป เป็นสิ่งที่เขาคิดครับ เป็นที่มาของไอ้ภาพ randomๆ ที่คุณเห็นในเว็บ Google นั่นแหละ
และเขาก็คาดการณ์คำตอบของคุณ แบบเดียวกับที่ผมจะบอกให้ฟัง
เขาเดาว่าคุณจะ search คำว่า "internet speed test" ใน Google
และคุณจะต้องไปเข้าเว็บ speedtest.net แน่นอน
เขาเป็น ISP กฎหมายไทยไม่ได้ระบุเรื่องนี้ไว้อย่างชัดเจนนัก
เขาเป็นคนที่อยู่ตรงกลางเหมือนอีฟ สำหรับคุณผู้ใช้บริการแล้ว เขามีอำนาจควบคุมข้อมูลเกือบไม่จำกัด
หรือก็คือ เขาคิดว่าเขาสามารถทำ man-in-the-middle attack ใส่ทุกคนได้ไม่ว่ากรณีใดๆ
โดยชอบด้วยกฎหมาย
สิ่งทำเขาทำคือ หลอกการทำงานของโปรแกรม speedtest.net
พูดโดยหลักการแล้วคือ ในการทดสอบความเร็ว download ของ speedtest.net แทนที่เขาจะไป download ข้อมูลจริงๆ เขารู้ว่าคุณไม่ได้เอาข้อมูลนี้ไปทำอะไร ขอให้มีอะไรมั่วๆ ส่งมาก็ได้
แทนการส่ง request ไปจริงๆ เขาไปอ่านข้อมูลจาก harddisk ของตัวเองมาส่งให้คุณ
(เหมือนระบบ cache แต่ไม่ใช่ เพราะเป็นการสับเปลี่ยนข้อมูลโดยสมบูรณ์) ขอเน้นย้ำว่า speedtest.net เขียนโปรแกรมขึ้นมาหลบระบบ cache ทั่วไปอยู่แล้วครับ แต่ ISP นี้ออกแบบโปรแกรมในระบบเครือข่ายมาเพื่อหลอกโปรแกรม speedtest.net โดยเฉพาะ
พูดอีกนัยหนึ่งก็คือ speedtest.net ถูกสร้างขึ้น เพื่อส่งข้อมูลให้คุณรู้ว่า
Internet ของคุณมีความเร็วเท่าไหร่
แต่ข้อมูลนี้ส่งไม่ถึงคุณ เพราะ ISP ของคุณเล่นลูกไม้ สับเปลี่ยนข้อมูลซะ
มีค่าเท่ากับ block web speedtest.net นั่นแหละครับ เพียงแต่คุณยังเห็นหน้าเว็บอยู่ก็เท่านั้น แต่ข้อมูลในนั้นเชื่อไม่ได้เลย และเพียงแค่จะ block ผลของ speedtest.net เขาทำ man-in-the-middle ใส่ทุกเว็บที่ผ่านnodeที่กำหนดไว้
เป็นเหตุผลว่าทำไม Google Yahoo ... ถึงต้องมีภาพแปลกๆ นั่นอยู่ด้วย
ระบบ cache
ถ้าคุณ เห็นแมลงสาบ 1 ตัว วิ่งอยู่ในบ้านคุณ คุณคิดว่าบ้านคุณมีแมลงสาบกี่ตัว
ถ้าคำตอบคือ 1 หรือ 2 ผมคิดว่าคุณมีปัญหาด้านการประมาณตัวเลขซะแล้วล่ะ หรือไม่บ้านคุณก็ต้องเจ๋งมากจนไม่มีแมลงสาบสักตัว คุณเลยไม่รู้จักแมลงสาบ
ในเรื่อง Mitsudomoe บอกไว้ว่า "ถ้าเห็นแมลงสาบ 1 ตัวแปลว่ามี 30 ตัว"
ถ้า ISP ของคุณจะเล่นลูกไม้ เขาไม่ทำแค่กับ speedtest.net แน่นอน
มีหลายเหตุการณ์ที่ผมตรวจพบ และโทรไปบอกให้เขาแก้ไข
ผมไม่เข้าใจทำไมซื้อ bandwidth แบบธรรมดาๆ ไม่ได้ ต้องมาใส่ระบบเถื่อนๆ ลงไปด้วย
หนึ่งในระบบเถื่อนที่ผมพูดถึงคือระบบ cache เถื่อน
ระบบ cache ก็อย่างที่หลายคนเข้าใจ มันใช้เก็บข้อมูลที่ถูกเรียกซ้ำๆ กัน
หลายๆ ครั้ง แทนที่จะเรียกผ่านตัวกลางทุกครั้ง ก็เรียกแค่ครั้งเดียวแล้วเอาข้อมูลเดียวกันส่งให้คนหลายๆ คน
ระบบนี้ถูกใช้มากใน HTTP
การมีระบบ cache ทำให้
1) ประหยัดต้นทุนค่า bandwidth
2) ผู้ใช้งานเว็บไซต์จะได้รับข้อมูลอย่างรวดเร็ว
ซึ่งประโยชน์ทั้งสองข้อเป็นเรื่องที่ดีกับทุกฝ่าย
และเป็นประโยชน์ที่จะเกิดขึ้นจริง ถ้าระบบ cache เป็นระบบแบบปกติ
ที่ทำตามมาตรฐาน เช่น
- เก็บ cache ตามข้อมูลที่ระบุไว้ใน HTTP Header เท่านั้น
- กรณีไม่มีข้อมูลระบุไว้ใน Header ต้องไม่เก็บ cache ข้อมูลที่มี cookie อยู่ใน request header และต้องตรวจสอบจนมั่นใจแล้วว่าข้อมูลไม่มีการเปลี่ยนแปลงในสถานการณ์ต่างๆ เช่นเปลี่ยนตาม IP Address
เป็นต้น
การมีระบบ cache เถื่อนเพิ่มประโยชน์ไปอีกข้อหนึ่ง
3) ประหยัดต้นทุนค่า bandwidth มหาศาล โดยไม่สนว่าข้อมูลจะผิดหรือถูก หรือข้อมูลของใครจะรั่วไหลไปให้คนอื่นหรือเปล่า
บ่อยครั้งที่เว็บไซต์ต่างประเทศทำงานแปลกๆ เช่น login ไม่เข้า
มีเหตุมาจาก ISP นี้แหละครับ ผมเคยพบมาแล้ว
แต่คนเข้ามักไม่รู้ตัวการที่แท้จริง แล้วโทษเจ้าของ (หรือผู้พัฒนา) เว็บไซต์ครับ
ความเร็วที่ได้มา เป็นการหลอกกันเท่านั้นเอง และอีกอย่างคือ
ISP เจ้านี้ได้เปรียบคู่แข่ง ที่ระบบ cache เถื่อนนี่เอง
(ผมเคยเห็นว่ามันเถื่อน แต่เขาอาจจะแก้ไขแล้วก็ได้ (เป็นไปได้น้อย))
ถ้าจะเร็วกว่า ก็ไม่แปลกใจเท่าไหร่ครับ ก็เอาอย่างอื่นไปแลกกับความเร็วนี่นา
ข้อมูลใช่ที่เราต้องการหรือเปล่าก็ไม่แน่ใจ
สิ่งที่ผมอยากเน้นให้คำนึงถึงให้มากคือ case speedtest.net ครับ
เขาใช้อำนาจของ ISP เปลี่ยนแปลงข้อมูลของเว็บนี้
คิดว่าเขาจะทำกับเว็บเพียงเว็บเดียวหรือเปล่า?
ผมขอเตือนว่าเขาเปลี่ยนข้อมูลส่วนไหน ของเว็บใดก็ได้นะครับ
(ยกเว้นพวกที่ใช้ HTTPS)
และเขามีประวัติไม่ดีแล้ว (ISP สามารถทำได้ทุกเจ้า อยู่ที่ว่าจะเลือกทำแบบซื่อสัตย์หรือหมกเม็ด การที่เราใช้บริการ ISP ใด เราต้องเชื่อเขาครับ ถ้า ISP ประวัติไม่ดีก็คล้ายๆ คนเคยล้มละลายนั่นเองครับ)
วิธีตรวจสอบว่า Internet ของคุณ ถูก tap หรือเปล่า เชิงเทคนิค
วิธีตรวจสอบแบบข้างบน (วิธีการ signature) อาจถูกเปลี่ยนรูปแบบ หลบได้ไม่ยาก
แต่การที่จะทำ man-in-the-middle สับเปลี่ยนข้อมูล HTTP ได้อย่างอิสระขนาดนี้
พูดเป็นภาษาเทคนิคคือต้องทำเหนือ Transport Layer หรือ layer 4 ขึ้นไปครับ
ถึงจะทำได้ง่าย ทำที่ layer ต่ำกว่านี้ก็เป็นไปได้ แต่ยากกว่ากันมาก พอจะเปลี่ยนข้อมูลได้นิดๆ หน่อยๆ แต่จะเปลี่ยนพลิกฟ้าคว่ำดินนั้นทำได้ยาก (แต่ก็ไม่ใช่ว่าจะทำไม่ได้)
การแก้ข้อมูลอย่างอิสระ ยิ่งทำที่ layer บนๆ ยิ่งง่าย เหมือนกับข้อมูลถูกปอกเปลือกออกหมดแล้ว จะทำอะไรกับเนื้อข้อมูลก็ไม่มีปัญหา
ดังนั้นผมเชื่อว่า วิธีตรวจสอบนี้จะใช้งานได้ไปอีกนาน หรือถ้าจะพัฒนา software มาหลบอีก ก็ใช้เวลาอีกพักใหญ่ (เชื่อผม โปรเจคจบปริญญาตรีผมทำเกี่ยวกับเรื่อง relay ข้อมูลนี่แหละ)
ต่อจากนี้ผมขอใช้ภาษาเทคนิคนะครับ
ก่อนหน้านี้ ผมได้ใช้งาน tracert ซึ่งเป็นโปรแกรมที่มีอยู่ใน Windows ให้ดู
tracert นั้น ทำงานบน ICMP ครับ ไม่มีการ Connection
แต่ยังมีการ Trace อีกชนิดหนึ่ง ที่ทำงานบน TCP ด้วยนะ
มันจะเห็นเส้นทางผ่านของpacket บนTCPเลย
ข้อสันนิษฐานผมเป็นอย่างนี้
HTTP ใช้ port 80
HTTPS ใช้ port 443
การ tap port 443 นั้น สามารถทำได้ แต่ไม่อาจแก้ไขหรืออ่านข้อมูลภายในได้ (เพรามันถูกเข้ารหัส)
ดังนั้น ไม่มีประโยชน์อะไรถ้าจะ tap port 443 ซึ่งมีข้อเสียคือเปลืองพลังประมวลผลมากขึ้น
ดังนั้นผมจึงคิดว่า ISP จะไม่ tap port 443
โปรแกรม trace ที่ผมพูดถึงก่อนหน้านี้ ชื่อว่า "tracetcp" ครับ เป็น opensource
load ฟรี ใช้ฟรี
วิธีใช้หาอ่านได้ในเว็บไซต์ผู้พัฒนานะครับ
สำหรับผู้ใช้ Linux ไม่ต้องน้อยใจนะ Traceroute ทำไอ้นี่ได้เหมือนกันครับ
ผมลอง trace ไปที่ port 443 ของ hostgator ดูนะครับ

จะเห็นว่า packet ของ port 443 ผ่าน intermediate node ทั้งหมด 13 nodes
นะครับ ถึงจะถึง hostgator (อันนี้เป็นเส้นทางจริงที่ควรจะเป็นครับ)
ลองทำที่ port 80 ดูแล้วคุณจะแปลกใจ

intermediate node เดิม 13 nodes
ถูกตัดทิ้ง เหลือ 6 nodes? ผ่านคอมพิวเตอร์แค่ 6 เครื่อง ก็ถึง hostgator แล้ว?
ผ่านไป 6 คน อลิสก็ได้คุยกับบ๊อบแล้วเหรอ?
(note: สำหรับคนที่อ่านไม่รู้เรื่องแต่อยากลองมั่งก็ไม่เป็นไรนะครับ แม้ไม่เข้าใจที่มาก็สามารถลองได้ วิธีการแบบสรุปๆ ก็คือ download tracetcp มา แล้วพิมพ์คำสั่งตามให้ถูกครับ อาจจะต้องรู้วิธีใช้ Command Line นิดหน่อยด้วยนะ)
ไม่ใช่เลยครับ นี่เป็นแผนของอีฟที่อยู่กลางทาง
แทนที่จะส่งข้อความต่อถึงบ๊อบ
กลับมาขี้จุ๊บอกว่าตัวเองเป็นบ๊อบซะเอง
ภาษาเทคนิคเรียกว่า IP Spoofing ครับ เป็นเทคนิคการ Hack อย่างหนึ่ง
ต้องขอบอกว่า ISP เจ้านี้เถื่อนถึงกับ Spoof IP Address เพื่อปลอมเป็นคนอื่น
เพื่อสับเปลี่ยนข้อมูล
คำถามถัดไปคือ ถ้าเขาจะเนียนขึ้น จะดักข้อมูลให้มันครบทุก port เลยได้มั้ย?
port 443 นั้น เป็น default port ของ HTTPS ครับ
และถึงแม้มันจะ secure มันเป็น TLS มันเป็น SSL มันมี Certificate ยังไงก็ตาม
ผมต้องขอบอกว่า
สามารถทำได้ครับ และทำแล้วสามารถทำให้ผลการ Trace ของ port 80 กับ port 443 ออกมาเหมือนกันได้ (มี intermediate node แค่ 6 nodes) นั่นคือเนียนขึ้นนั่นเอง
แต่ว่า ทำแล้ว จะไม่สามารถแก้ไขเปลี่ยนแปลงหรือแอบอ่านข้อมูลโดยไม่ทำให้เกิด certificate warning ได้ และทำแล้วจะเพิ่ม overhead ทำให้ส่งข้อมูลได้ช้าลงครับ (และเสียเวลาประมวลผลด้วย)
อย่างไรก็ดี แม้จะทำเนียนแล้ว
hop ก็จะดูไม่สมเหตุสมผลอยู่ดี แถม Trace ไปกลับจะมีเส้นทางต่างกันพลิกฟ้าคว่ำดินไม่สมเหตุผล
พูดง่ายๆ ก็คือ ทำได้แต่ไม่คุ้มนั่นเองครับ
ผมยังใช้ Internet เจ้านี้อยู่ด้วยเหตุผลบางประการ
สำหรับคุณผู้อ่าน
คุณเลือกได้ ความเร็วไม่ใช่เรื่องที่ได้มาลอยๆ และคุณภาพไม่ใช่ความเร็วครับ
และผมก็ยินดี ที่ได้อธิบายให้คุณรู้ว่า คุณเสียอะไรไปเพื่อแลกกับความเร็ว(ที่คุณเห็น)
สวัสดีครับ แล้วพบกันใหม่(ถ้ามีโอกาสนะครับ)
ข้อมูลเพิ่มเติมหลังอ่าน comment
- จากคุณ susethailand
ดูเหมือนว่า software ที่เรามีปัญหากันอยู่นั้นคือ ของบริษัท SwiftServe ครับ สำหรับผู้มีอำนาจตัดสินใจในบริษัทสื่อสาร ผมเชื่อว่าเราไม่ควรเร่งความเร็ว Internet ด้วย software ชนิดนี้นะครับ มี solution ที่ดีกว่านี้อยู่ที่ไหนสักแห่งครับ หรือถ้าพร้อมลงทุนด้านการวิจัย ผมเชื่อว่าเราอาจสร้าง software ที่เยี่ยมกว่านี้ขึ้นมาได้ (กรณีมีทุนเหมาะสมกับการวิจัยนะครับ)
- จากคุณ churos
นำเสนอปัญหาที่ ISP พบครับ ดูเหมือนว่า ISP จะมีปัญหาด้านการสื่อสารกับผู้ใช้
สำหรับ ISP ที่พร้อมจะทำ Internet ให้เป็น Internet พร้อมที่จะทำตามมาตรฐาน
ขอให้รู้ว่า นั่นเป็นจุดประสงค์ของผมเช่นกัน ผมไม่ได้ตั้งใจจะทำลายล้างผู้ให้บริการ Internet ครับ
ถ้าคุณ cache ตามมาตรฐาน ไม่ทำ man-in-the-middle attack ใส่ผู้ใช้พร่ำเพรื่อ
(หรืออย่างน้อยถ้าตอนนี้ทำอยู่แล้วพร้อมที่จะแก้ไข)
คุณสู้ความเร็วของเจ้าอื่นไม่ได้ โฆษณาไม่ได้
ผมเข้าใจว่า Internet คุณช้ากว่าเพราะอะไร ผมยินดีจะช่วยคุณครับ
ผมจะช่วยสื่อสารระหว่างวิศวกรกับฝ่ายการตลาด(ถ้าต้องการนะครับ) ผมอาจพอช่วยคิดแคมเปญโฆษณาเจ๋งๆ ได้
หรือผมอาจช่วยเขียนเรื่องราวที่ยากๆ ให้เข้าถึงผู้คนจำนวนมากพอเข้าใจได้
Internet คุณช้ากว่าเฉยๆ ไม่มีใครยอมรับ product ของคุณแน่ครับ แต่ถ้าคุณช้ากว่าเพราะมีเหตุผล ผมเชื่อว่าเป็นสิ่งที่ผู้คนยอมรับได้ และเป็นจุดขายที่แตกต่างจาก Internet เจ้าอื่นๆ ครับ
ที่มา : "http://www.blognone.com/node/44038"
ข้อมูลไม่ลับ ที่ผู้ให้บริการInternetไม่อยากให้คุณรู้
การเมืองบ้านเรานั้นมีการคดโกงกันหลายส่วน ซึ่งเป็นปัญหาที่เราควรช่วยกันแก้ไข วงการสื่อสารบ้านเรานั้นก็มีการหมกเม็ดนั่นนิดนี่หน่อยเช่นกัน
วันนี้ผมอยากเขียนถึงผู้ให้บริการ Internet (หรือที่เรียกกันเป็นศัพท์เทคนิคว่า ISP) เจ้าหนึ่งครับ เราจะไปดูและรู้ทันกลเม็ดลูกไม้ต่างๆที่เขานำมาใช้กัน แต่ก่อนหน้านั้นผมขอเกริ่นนำพอเป็นพิธีก่อนนะครับ
ผมเป็นคนหนึ่งที่ใช้ Internet ADSL เหตุผลที่ติดตั้ง Internet ชนิดนี้ไว้ที่บ้าน เพราะมีเบอร์โทรศัพท์ของผู้ให้บริการโทรศัพท์แห่งหนึ่งอยู่และเขาก็ให้บริการ Internet ด้วย
ผมแปลกใจเพราะผู้คนต่างบอกว่า Internet เจ้านี้มีคุณภาพดีที่สุด แต่ "คุณภาพ" ที่คนเขาพูดถึงกันนี้น คงจะหมายถึง "ความเร็ว" อย่างเดียวหรือเปล่าผมไม่แน่ใจ สิ่งที่ผมเห็นคือผู้ให้บริการ Internet เจ้านี้ใส่ลูกเล่นทุกเม็ด เพื่อแลกกับความเร็ว ใส่กลเม็ดต่างๆทำทุกวิถีทางให้คนตรวจสอบไม่ได้ (หรือตรวจสอบยากขึ้น) ว่า Internet ของเขาช้า
เราอาจลืมดูไปว่าเราเสียอะไรไปบ้างเพื่อแลกมากับความเร็ว ซึ่งเป็นจุดที่ผมอยากชี้ให้เห็น
อ่านถึงตรงนี้ คงมีหลายคนอยากรู้ว่า ตกลงแล้ว ISP ที่ผมพูดถึงนี้เป็นของเจ้าไหน?
ตัวเองกำลังใช้งานอยู่หรือเปล่า? และถ้ากำลังใช้งานอยู่จริง คงอยากเห็นว่าตัวเองเสียอะไรไปเพื่อแลกกับความเร็ว และความเร็วนี่มันมาจากไหน? สายส่งข้อมูลได้เร็วจริงๆ หรือคุณแค่โดนหลอกหรือเป็นเทคนิคเพิ่มความเร็วที่ดีกับทุกฝ่าย?
ผมสามารถตอบหลายคำถามได้ด้วยการทดลองเพียงการทดลองเดียว ง่ายๆ
คุณผู้อ่านลองเข้าไปที่เว็บ
"http://www.google.com/speedtest/random350x350.jpg?x=1234567891011&y=1"
(โดยไม่ใช้ plug-in จำพวก HTTPS Everywhere)
ตอบคำถามผมหนึ่งข้อ คุณเห็นอะไรเกี่ยวกับ Google อยู่ในหน้าเว็บนั้นหรือไม่?
ถ้าไม่เห็น: ยินดีด้วยคุณใช้ Internet ยี่ห้อเดียวกับผม คุณคงรู้แล้วล่ะว่าผมพูดถึงบริษัทไหน เราจะไปดูกันว่าเราเสียอะไรไปเพื่อแลกกับความเร็ว
สำหรับคนที่เห็นว่ามันเป็นหน้าเว็บของ Google ก็อย่าเพิ่งนิ่งนอนใจไป ผมคาดการณ์ว่าหลังบทความนี้ออกสู่ Internet ไม่นานวิธีตรวจสอบนี้จะใช้ไม่ได้ผล วิธีนี้เป็นsignatureหนึ่ง ที่ผมคิดขึ้นทำให้คนที่ไม่รู้รายละเอียดทางเทคนิคมากนักตรวจสอบได้ด้วยตนเอง วิธีตรวจแบบละเอียดจะเขียนไว้ทีหลังครับ
นี่คือสิ่งที่ผม (และผู้ร่วมชะตากรรมคนอื่นๆ) เห็น

ก่อนที่เราจะไปดูกันต่อว่ามันเกิดอะไรขึ้น ผมขอเคลียร์ข้อสงสัยสำหรับคนที่เห็นแบบเดียวกันก่อนนะครับ
คำถามคือ นี่เป็นภาพของ Google ที่เขาใช้เป็นส่วนประกอบของอะไรบางอย่างหรือเปล่า?
ให้คุณลองทำอย่างนี้นะครับ (กรณีที่วิธีทดสอบนี้ยัง work อยู่นะ)
ให้ลองไปดูที่
"http://www.yahoo.com/speedtest/random350x350.jpg?x=1234567891011&y=1"
และ
"http://www.amazon.com/speedtest/random350x350.jpg?x=1234567891011&y=1"
แล้วตอบให้ได้ว่า ทำไมภาพเดียวกันถึงไปอยู่ในเว็บดังได้ตั้ง 3 เว็บ
คำตอบมีเพียงหนึ่งเดียว นั่นไม่ใช่ภาพของ Google ครับ ไม่ใช่ของ Yahoo กับ Amazon ด้วย
และส่วนอื่นๆ ของโลกเขาไม่ได้เห็นแบบเดียวกับเรา
หลายคนคงเดาถูกแล้วว่าเราถูกสับเปลี่ยนข้อมูลครับ
หรือที่มีศัพท์เทคนิคเรียกว่าการทำ man-in-the-middle attack
ไอ้เจ้า man บลาๆ นี่มันมีหลักการยังไงกัน? และมันเกิดขึ้นได้อย่างไร?
ทำไมต้องเอารูปแปลกๆ ไปยัดให้เป็นของ Google? ทำไมต้องขนผักทางรถไฟ?
อาจมีคำถามเกิดขึ้นมากมาย ทำให้ผมอยากให้คุณทุกคนได้อ่านรายงานโปรเจคจบปริญญาตรีของผม ที่ผมคิดว่าเขียนอธิบายไว้ได้ดีและเข้าใจง่ายมาก แต่รู้สึกว่าจะเป็นลิขสิทธิ์ของมหาวิทยาลัยไปเรียบร้อยแล้ว (มั้ง)
ดังนั้นผมเขียนใหม่ก็ได้
ผมอยากนำเสนอ Internet ในมุมมองใหม่ มีภาพให้ดูด้วย
Internet หน้าตาเป็นอย่างนี้ครับ

ภาพแผนที่ Internet เดือนมกราคม พศ.2548 ขอขอบคุณภาพจาก OpteProject http://opte.org/
มันรูปร่างเหมือนเครือข่ายอะไรสักอย่างนะครับ
Internet เป็นการโยงเชื่อมต่อกันของ node ต่างๆ นี่เอง (<-อ่านแล้วไม่รู้เรื่อง)
เรามามองมันใหม่ นึกถึงตอนเด็กๆ ไม่รู้คุณเคยเล่นเหมือนผมรึเปล่า
ที่เอาแก้วพลาสติกมาเจาะรูที่ตูด แล้วขึงเชือกเข้าด้วยกัน ดึงให้ตึงๆ แล้วพูดกับเพื่อนในระยะไกล
เรามามองว่า Internet คือ คนบ้า (แต่ไม่โง่) กลุ่มหนึ่ง ที่เผอิญที่บ้านเป็นโรงงานผลิตแก้วพลาสติก
ไอ้คนกลุ่มนี้มันทำของเล่นที่ว่านี่มาเพียบเลย แล้วก็ยกพวกมาเล่นกันสัก 1000 คน
นี่แหละครับที่มาของแผนที่ Internet ทีคุณเพิ่งได้เห็นไป มันคล้ายไอ้บ้าที่เล่นแก้วพลาสติกนี่แหละครับ
ทีนี้มันเกี่ยวกับ man บลาๆ ยังไง?
เรามาคิดกันว่า สมมุติไอ้บ้าอลิสอยากคุยกับไอ้บ้าบ๊อบ (เรียกไอ้บ้าเพราะอยู่กลุ่มเล่นแก้วพลาสติกแบบเว่อร์ๆ) นะครับ
แต่เผอิญว่าแก้วพลาสติกของอลิสไม่ได้โยงเชื่อมกับแก้วของบ๊อบ
อลิสเลยใช้วิธีบอกเพื่อนคนอื่นให้บอกต่อกันไปเรื่อยๆ จนข้อความถึงบ๊อบครับ
(หรืออาจเรียกว่า Relay ข้อความ,
หรืออาจมองว่าไอ้บ้ากลุ่มนี้มันไม่ได้เล่นแก้วพลาสติกธรรมดา
แต่มันยังเล่น "เกมกระซิบ" กันด้วย <-สมัยนี้รู้จักเกมนี้หรือเปล่านี่?)
Internet ก็ทำงานแบบเดียวกัน
สำหรับผู้ใช้ Windows ทั้งหลาย ใช้โปรแกรม tracert กันเป็นหรือเปล่า?
โปรแกรมนี้เป็นโปรแกรมหาเส้นทางแบบคร่าวๆ ว่าคอมพิวเตอร์ของเรา ต่อกับอีกเครื่องที่อยู่ใน Internet ได้อย่างไร
เดี๋ยวผมใช้ให้ดู

ภาพนี้ผมลองหาดูว่า คอมพิวเตอร์ของผม เชื่อมต่อกับ blognone ยังไง
(ผมไม่ censor IP Address เพราะผมไม่เชื่อว่าสิ่งที่ผมเขียนอยู่เป็นเรื่องที่ผิด แม้อาจจะเกิดความขัดแย้งขึ้น ผมก็เชื่อในสิ่งที่ผมทำอยู่ดี)
ตีความได้ว่า ทีแรกคอมพิวเตอร์ของผม บอกข้อความกับ router (192.168.0.1) ให้มันบอกต่อ
มันก็บอกต่อไปเรื่อยๆ จนถึง blognone (203.150.228.244)
จะเห็นได้ว่า กว่าข้อมูลจะถึง blognone มันต้องถูกส่งผ่านคอมพิวเตอร์กลางทางถึง 8 เครื่อง
กว่าข้อความของอลิสจะส่งถึงบ๊อบ ก็ต้องผ่านคนตั้ง 8 คน
สมมุติว่ามีตัวอิจฉาในละครหลังข่าว ชื่ออีฟเล่นแก้วพลาสติกอยู่ด้วย
แทนที่จะส่งคำรักของอลิสไปถึงบ๊อบกลับพูดให้ทั้งคู่เข้าใจผิดกัน
(เป็นเรื่องที่ทำได้ถ้าอีฟเป็นทางผ่านของข้อความ)
อีฟนี่แหละครับ man in the middle
ทำนิสัยคล้ายผู้ให้บริการ Internet ที่เราใช้บริการอยู่นี่แหละ
กลิ่นตุๆ
คำถามถัดไปคือ ไอ้ที่ผมลองเอามาให้พิมพ์เนี่ย
"/speedtest/random350x350.jpg?x=1234567891011&y=1"
มันคืออะไร? ทำไมต้องเอาไปยัดให้ Google, Yahoo, ... ด้วย?
เราลองมองมุมของเขาดูดีกว่า
ผมขอถามคุณว่า "ถ้าคุณจะทดสอบว่า Internet ของคุณ เร็วแค่ไหน คุณจะทำยังไง?"
คำถามที่ผมเพิ่งถามไป เป็นสิ่งที่เขาคิดครับ เป็นที่มาของไอ้ภาพ randomๆ ที่คุณเห็นในเว็บ Google นั่นแหละ
และเขาก็คาดการณ์คำตอบของคุณ แบบเดียวกับที่ผมจะบอกให้ฟัง
เขาเดาว่าคุณจะ search คำว่า "internet speed test" ใน Google
และคุณจะต้องไปเข้าเว็บ speedtest.net แน่นอน
เขาเป็น ISP กฎหมายไทยไม่ได้ระบุเรื่องนี้ไว้อย่างชัดเจนนัก
เขาเป็นคนที่อยู่ตรงกลางเหมือนอีฟ สำหรับคุณผู้ใช้บริการแล้ว เขามีอำนาจควบคุมข้อมูลเกือบไม่จำกัด
หรือก็คือ เขาคิดว่าเขาสามารถทำ man-in-the-middle attack ใส่ทุกคนได้ไม่ว่ากรณีใดๆ
โดยชอบด้วยกฎหมาย
สิ่งทำเขาทำคือ หลอกการทำงานของโปรแกรม speedtest.net
พูดโดยหลักการแล้วคือ ในการทดสอบความเร็ว download ของ speedtest.net แทนที่เขาจะไป download ข้อมูลจริงๆ เขารู้ว่าคุณไม่ได้เอาข้อมูลนี้ไปทำอะไร ขอให้มีอะไรมั่วๆ ส่งมาก็ได้
แทนการส่ง request ไปจริงๆ เขาไปอ่านข้อมูลจาก harddisk ของตัวเองมาส่งให้คุณ
(เหมือนระบบ cache แต่ไม่ใช่ เพราะเป็นการสับเปลี่ยนข้อมูลโดยสมบูรณ์) ขอเน้นย้ำว่า speedtest.net เขียนโปรแกรมขึ้นมาหลบระบบ cache ทั่วไปอยู่แล้วครับ แต่ ISP นี้ออกแบบโปรแกรมในระบบเครือข่ายมาเพื่อหลอกโปรแกรม speedtest.net โดยเฉพาะ
พูดอีกนัยหนึ่งก็คือ speedtest.net ถูกสร้างขึ้น เพื่อส่งข้อมูลให้คุณรู้ว่า
Internet ของคุณมีความเร็วเท่าไหร่
แต่ข้อมูลนี้ส่งไม่ถึงคุณ เพราะ ISP ของคุณเล่นลูกไม้ สับเปลี่ยนข้อมูลซะ
มีค่าเท่ากับ block web speedtest.net นั่นแหละครับ เพียงแต่คุณยังเห็นหน้าเว็บอยู่ก็เท่านั้น แต่ข้อมูลในนั้นเชื่อไม่ได้เลย และเพียงแค่จะ block ผลของ speedtest.net เขาทำ man-in-the-middle ใส่ทุกเว็บที่ผ่านnodeที่กำหนดไว้
เป็นเหตุผลว่าทำไม Google Yahoo ... ถึงต้องมีภาพแปลกๆ นั่นอยู่ด้วย
ระบบ cache
ถ้าคุณ เห็นแมลงสาบ 1 ตัว วิ่งอยู่ในบ้านคุณ คุณคิดว่าบ้านคุณมีแมลงสาบกี่ตัว
ถ้าคำตอบคือ 1 หรือ 2 ผมคิดว่าคุณมีปัญหาด้านการประมาณตัวเลขซะแล้วล่ะ หรือไม่บ้านคุณก็ต้องเจ๋งมากจนไม่มีแมลงสาบสักตัว คุณเลยไม่รู้จักแมลงสาบ
ในเรื่อง Mitsudomoe บอกไว้ว่า "ถ้าเห็นแมลงสาบ 1 ตัวแปลว่ามี 30 ตัว"
ถ้า ISP ของคุณจะเล่นลูกไม้ เขาไม่ทำแค่กับ speedtest.net แน่นอน
มีหลายเหตุการณ์ที่ผมตรวจพบ และโทรไปบอกให้เขาแก้ไข
ผมไม่เข้าใจทำไมซื้อ bandwidth แบบธรรมดาๆ ไม่ได้ ต้องมาใส่ระบบเถื่อนๆ ลงไปด้วย
หนึ่งในระบบเถื่อนที่ผมพูดถึงคือระบบ cache เถื่อน
ระบบ cache ก็อย่างที่หลายคนเข้าใจ มันใช้เก็บข้อมูลที่ถูกเรียกซ้ำๆ กัน
หลายๆ ครั้ง แทนที่จะเรียกผ่านตัวกลางทุกครั้ง ก็เรียกแค่ครั้งเดียวแล้วเอาข้อมูลเดียวกันส่งให้คนหลายๆ คน
ระบบนี้ถูกใช้มากใน HTTP
การมีระบบ cache ทำให้
1) ประหยัดต้นทุนค่า bandwidth
2) ผู้ใช้งานเว็บไซต์จะได้รับข้อมูลอย่างรวดเร็ว
ซึ่งประโยชน์ทั้งสองข้อเป็นเรื่องที่ดีกับทุกฝ่าย
และเป็นประโยชน์ที่จะเกิดขึ้นจริง ถ้าระบบ cache เป็นระบบแบบปกติ
ที่ทำตามมาตรฐาน เช่น
- เก็บ cache ตามข้อมูลที่ระบุไว้ใน HTTP Header เท่านั้น
- กรณีไม่มีข้อมูลระบุไว้ใน Header ต้องไม่เก็บ cache ข้อมูลที่มี cookie อยู่ใน request header และต้องตรวจสอบจนมั่นใจแล้วว่าข้อมูลไม่มีการเปลี่ยนแปลงในสถานการณ์ต่างๆ เช่นเปลี่ยนตาม IP Address
เป็นต้น
การมีระบบ cache เถื่อนเพิ่มประโยชน์ไปอีกข้อหนึ่ง
3) ประหยัดต้นทุนค่า bandwidth มหาศาล โดยไม่สนว่าข้อมูลจะผิดหรือถูก หรือข้อมูลของใครจะรั่วไหลไปให้คนอื่นหรือเปล่า
บ่อยครั้งที่เว็บไซต์ต่างประเทศทำงานแปลกๆ เช่น login ไม่เข้า
มีเหตุมาจาก ISP นี้แหละครับ ผมเคยพบมาแล้ว
แต่คนเข้ามักไม่รู้ตัวการที่แท้จริง แล้วโทษเจ้าของ (หรือผู้พัฒนา) เว็บไซต์ครับ
ความเร็วที่ได้มา เป็นการหลอกกันเท่านั้นเอง และอีกอย่างคือ
ISP เจ้านี้ได้เปรียบคู่แข่ง ที่ระบบ cache เถื่อนนี่เอง
(ผมเคยเห็นว่ามันเถื่อน แต่เขาอาจจะแก้ไขแล้วก็ได้ (เป็นไปได้น้อย))
ถ้าจะเร็วกว่า ก็ไม่แปลกใจเท่าไหร่ครับ ก็เอาอย่างอื่นไปแลกกับความเร็วนี่นา
ข้อมูลใช่ที่เราต้องการหรือเปล่าก็ไม่แน่ใจ
สิ่งที่ผมอยากเน้นให้คำนึงถึงให้มากคือ case speedtest.net ครับ
เขาใช้อำนาจของ ISP เปลี่ยนแปลงข้อมูลของเว็บนี้
คิดว่าเขาจะทำกับเว็บเพียงเว็บเดียวหรือเปล่า?
ผมขอเตือนว่าเขาเปลี่ยนข้อมูลส่วนไหน ของเว็บใดก็ได้นะครับ
(ยกเว้นพวกที่ใช้ HTTPS)
และเขามีประวัติไม่ดีแล้ว (ISP สามารถทำได้ทุกเจ้า อยู่ที่ว่าจะเลือกทำแบบซื่อสัตย์หรือหมกเม็ด การที่เราใช้บริการ ISP ใด เราต้องเชื่อเขาครับ ถ้า ISP ประวัติไม่ดีก็คล้ายๆ คนเคยล้มละลายนั่นเองครับ)
วิธีตรวจสอบว่า Internet ของคุณ ถูก tap หรือเปล่า เชิงเทคนิค
วิธีตรวจสอบแบบข้างบน (วิธีการ signature) อาจถูกเปลี่ยนรูปแบบ หลบได้ไม่ยาก
แต่การที่จะทำ man-in-the-middle สับเปลี่ยนข้อมูล HTTP ได้อย่างอิสระขนาดนี้
พูดเป็นภาษาเทคนิคคือต้องทำเหนือ Transport Layer หรือ layer 4 ขึ้นไปครับ
ถึงจะทำได้ง่าย ทำที่ layer ต่ำกว่านี้ก็เป็นไปได้ แต่ยากกว่ากันมาก พอจะเปลี่ยนข้อมูลได้นิดๆ หน่อยๆ แต่จะเปลี่ยนพลิกฟ้าคว่ำดินนั้นทำได้ยาก (แต่ก็ไม่ใช่ว่าจะทำไม่ได้)
การแก้ข้อมูลอย่างอิสระ ยิ่งทำที่ layer บนๆ ยิ่งง่าย เหมือนกับข้อมูลถูกปอกเปลือกออกหมดแล้ว จะทำอะไรกับเนื้อข้อมูลก็ไม่มีปัญหา
ดังนั้นผมเชื่อว่า วิธีตรวจสอบนี้จะใช้งานได้ไปอีกนาน หรือถ้าจะพัฒนา software มาหลบอีก ก็ใช้เวลาอีกพักใหญ่ (เชื่อผม โปรเจคจบปริญญาตรีผมทำเกี่ยวกับเรื่อง relay ข้อมูลนี่แหละ)
ต่อจากนี้ผมขอใช้ภาษาเทคนิคนะครับ
ก่อนหน้านี้ ผมได้ใช้งาน tracert ซึ่งเป็นโปรแกรมที่มีอยู่ใน Windows ให้ดู
tracert นั้น ทำงานบน ICMP ครับ ไม่มีการ Connection
แต่ยังมีการ Trace อีกชนิดหนึ่ง ที่ทำงานบน TCP ด้วยนะ
มันจะเห็นเส้นทางผ่านของpacket บนTCPเลย
ข้อสันนิษฐานผมเป็นอย่างนี้
HTTP ใช้ port 80
HTTPS ใช้ port 443
การ tap port 443 นั้น สามารถทำได้ แต่ไม่อาจแก้ไขหรืออ่านข้อมูลภายในได้ (เพรามันถูกเข้ารหัส)
ดังนั้น ไม่มีประโยชน์อะไรถ้าจะ tap port 443 ซึ่งมีข้อเสียคือเปลืองพลังประมวลผลมากขึ้น
ดังนั้นผมจึงคิดว่า ISP จะไม่ tap port 443
โปรแกรม trace ที่ผมพูดถึงก่อนหน้านี้ ชื่อว่า "tracetcp" ครับ เป็น opensource
load ฟรี ใช้ฟรี
วิธีใช้หาอ่านได้ในเว็บไซต์ผู้พัฒนานะครับ
สำหรับผู้ใช้ Linux ไม่ต้องน้อยใจนะ Traceroute ทำไอ้นี่ได้เหมือนกันครับ
ผมลอง trace ไปที่ port 443 ของ hostgator ดูนะครับ

จะเห็นว่า packet ของ port 443 ผ่าน intermediate node ทั้งหมด 13 nodes
นะครับ ถึงจะถึง hostgator (อันนี้เป็นเส้นทางจริงที่ควรจะเป็นครับ)
ลองทำที่ port 80 ดูแล้วคุณจะแปลกใจ

intermediate node เดิม 13 nodes
ถูกตัดทิ้ง เหลือ 6 nodes? ผ่านคอมพิวเตอร์แค่ 6 เครื่อง ก็ถึง hostgator แล้ว?
ผ่านไป 6 คน อลิสก็ได้คุยกับบ๊อบแล้วเหรอ?
(note: สำหรับคนที่อ่านไม่รู้เรื่องแต่อยากลองมั่งก็ไม่เป็นไรนะครับ แม้ไม่เข้าใจที่มาก็สามารถลองได้ วิธีการแบบสรุปๆ ก็คือ download tracetcp มา แล้วพิมพ์คำสั่งตามให้ถูกครับ อาจจะต้องรู้วิธีใช้ Command Line นิดหน่อยด้วยนะ)
ไม่ใช่เลยครับ นี่เป็นแผนของอีฟที่อยู่กลางทาง
แทนที่จะส่งข้อความต่อถึงบ๊อบ
กลับมาขี้จุ๊บอกว่าตัวเองเป็นบ๊อบซะเอง
ภาษาเทคนิคเรียกว่า IP Spoofing ครับ เป็นเทคนิคการ Hack อย่างหนึ่ง
ต้องขอบอกว่า ISP เจ้านี้เถื่อนถึงกับ Spoof IP Address เพื่อปลอมเป็นคนอื่น
เพื่อสับเปลี่ยนข้อมูล
คำถามถัดไปคือ ถ้าเขาจะเนียนขึ้น จะดักข้อมูลให้มันครบทุก port เลยได้มั้ย?
port 443 นั้น เป็น default port ของ HTTPS ครับ
และถึงแม้มันจะ secure มันเป็น TLS มันเป็น SSL มันมี Certificate ยังไงก็ตาม
ผมต้องขอบอกว่า
สามารถทำได้ครับ และทำแล้วสามารถทำให้ผลการ Trace ของ port 80 กับ port 443 ออกมาเหมือนกันได้ (มี intermediate node แค่ 6 nodes) นั่นคือเนียนขึ้นนั่นเอง
แต่ว่า ทำแล้ว จะไม่สามารถแก้ไขเปลี่ยนแปลงหรือแอบอ่านข้อมูลโดยไม่ทำให้เกิด certificate warning ได้ และทำแล้วจะเพิ่ม overhead ทำให้ส่งข้อมูลได้ช้าลงครับ (และเสียเวลาประมวลผลด้วย)
อย่างไรก็ดี แม้จะทำเนียนแล้ว
hop ก็จะดูไม่สมเหตุสมผลอยู่ดี แถม Trace ไปกลับจะมีเส้นทางต่างกันพลิกฟ้าคว่ำดินไม่สมเหตุผล
พูดง่ายๆ ก็คือ ทำได้แต่ไม่คุ้มนั่นเองครับ
ผมยังใช้ Internet เจ้านี้อยู่ด้วยเหตุผลบางประการ
สำหรับคุณผู้อ่าน
คุณเลือกได้ ความเร็วไม่ใช่เรื่องที่ได้มาลอยๆ และคุณภาพไม่ใช่ความเร็วครับ
และผมก็ยินดี ที่ได้อธิบายให้คุณรู้ว่า คุณเสียอะไรไปเพื่อแลกกับความเร็ว(ที่คุณเห็น)
สวัสดีครับ แล้วพบกันใหม่(ถ้ามีโอกาสนะครับ)
ข้อมูลเพิ่มเติมหลังอ่าน comment
- จากคุณ susethailand
ดูเหมือนว่า software ที่เรามีปัญหากันอยู่นั้นคือ ของบริษัท SwiftServe ครับ สำหรับผู้มีอำนาจตัดสินใจในบริษัทสื่อสาร ผมเชื่อว่าเราไม่ควรเร่งความเร็ว Internet ด้วย software ชนิดนี้นะครับ มี solution ที่ดีกว่านี้อยู่ที่ไหนสักแห่งครับ หรือถ้าพร้อมลงทุนด้านการวิจัย ผมเชื่อว่าเราอาจสร้าง software ที่เยี่ยมกว่านี้ขึ้นมาได้ (กรณีมีทุนเหมาะสมกับการวิจัยนะครับ)
- จากคุณ churos
นำเสนอปัญหาที่ ISP พบครับ ดูเหมือนว่า ISP จะมีปัญหาด้านการสื่อสารกับผู้ใช้
สำหรับ ISP ที่พร้อมจะทำ Internet ให้เป็น Internet พร้อมที่จะทำตามมาตรฐาน
ขอให้รู้ว่า นั่นเป็นจุดประสงค์ของผมเช่นกัน ผมไม่ได้ตั้งใจจะทำลายล้างผู้ให้บริการ Internet ครับ
ถ้าคุณ cache ตามมาตรฐาน ไม่ทำ man-in-the-middle attack ใส่ผู้ใช้พร่ำเพรื่อ
(หรืออย่างน้อยถ้าตอนนี้ทำอยู่แล้วพร้อมที่จะแก้ไข)
คุณสู้ความเร็วของเจ้าอื่นไม่ได้ โฆษณาไม่ได้
ผมเข้าใจว่า Internet คุณช้ากว่าเพราะอะไร ผมยินดีจะช่วยคุณครับ
ผมจะช่วยสื่อสารระหว่างวิศวกรกับฝ่ายการตลาด(ถ้าต้องการนะครับ) ผมอาจพอช่วยคิดแคมเปญโฆษณาเจ๋งๆ ได้
หรือผมอาจช่วยเขียนเรื่องราวที่ยากๆ ให้เข้าถึงผู้คนจำนวนมากพอเข้าใจได้
Internet คุณช้ากว่าเฉยๆ ไม่มีใครยอมรับ product ของคุณแน่ครับ แต่ถ้าคุณช้ากว่าเพราะมีเหตุผล ผมเชื่อว่าเป็นสิ่งที่ผู้คนยอมรับได้ และเป็นจุดขายที่แตกต่างจาก Internet เจ้าอื่นๆ ครับ
ที่มา : "http://www.blognone.com/node/44038"


Comment