Score:0

การส่งรูปภาพผ่านโปรโตคอล DNS

ธง kz
Avv

โปรโตคอล HTTP ที่เลเยอร์แอปพลิเคชันสามารถส่งเสียง ภาพ ฯลฯ ในเนื้อความมากกว่า 1 การตอบสนองของ TCP หรือมากกว่านั้นในกรณีที่ขนาดไฟล์เกิน 4 MB (ขนาดเนื้อความของการตอบสนอง HTTP หากจำไม่ผิด)

ตอนนี้สำหรับเซิร์ฟเวอร์ DNS ฉันรู้ว่ามันใช้สำหรับแก้ไขชื่อโฮสต์ แต่สามารถใช้เพื่อพกพารูปภาพหรือไฟล์มัลติมีเดียอื่น ๆ ในเนื้อหาได้หรือไม่

ขอขอบคุณ.

Massimo avatar
ng flag
อาจ *เป็นไปได้ในทางเทคนิค* ด้วยวิธีการที่ซับซ้อนมาก (ดู https://en.wikipedia.org/wiki/IP_over_Avian_Carriers) แต่ทำไมคนทั้งโลกถึงทำอย่างนั้น นอกจาก "ฉันต้องการดูว่าฉันจะทำให้มันสำเร็จได้หรือไม่"
SamErde avatar
gg flag
ฉันไม่คิดว่าคุณจะพบกรณีการใช้งานที่ถูกต้องตามกฎหมายสำหรับการดำเนินการนี้ และไม่ใช่กรณีที่ได้รับการสนับสนุนโดยการนำข้อกำหนดโปรโตคอล DNS ไปใช้ คุณเคยลอง IPoAC แล้วหรือยัง? ;)
Avv avatar
kz flag
Avv
ขอขอบคุณสำหรับข้อมูล.
Patrick Mevzek avatar
cn flag
เนื่องจากมี "การใช้งาน" ของ TCP ผ่าน DNS ในทางเทคนิคแล้ว คุณสามารถแลกเปลี่ยนผ่านสิ่งที่คุณต้องการได้ แต่ทำไมคุณถึงต้องการทำเช่นนั้น นี่เป็นคำถามที่น่าสนใจ DNS เป็นโปรโตคอลในการกระจายข้อมูล (คล้ายกับฐานข้อมูลที่มีความสม่ำเสมอต่ำ/ช้าแบบกระจายอำนาจ) ซึ่งส่วนใหญ่จำเป็นในการค้นหาและค้นหาบริการต่างๆ ไม่ได้ปรับให้เหมาะกับความต้องการอื่นๆ เช่น การส่งไฟล์โดยอำเภอใจ โดยที่ HTTP/FTP/SCP/อื่นๆ ถูกปรับให้เหมาะกับสิ่งนั้น โปรดจำไว้ว่า DNS ทำงานบน UDP และ TCP และ UDP ไม่มีการควบคุมการขนส่ง
vn flag
https://www.akamai.com/blog/news/introduction-to-dns-data-exfiltration
Score:3
ธง ar

โปรโตคอล HTTP ที่เลเยอร์แอปพลิเคชันสามารถส่งเสียง ภาพ ฯลฯ ในเนื้อความมากกว่า 1 การตอบสนองของ TCP หรือมากกว่านั้นในกรณีที่ขนาดไฟล์เกิน 4 MB (ขนาดเนื้อความของการตอบสนอง HTTP หากจำไม่ผิด)

ประการแรก แพ็กเก็ตมีขนาดเล็ก โดยทั่วไปแล้ว MTU จะมีขนาด 1500 ไบต์ ซึ่งรวมถึงส่วนหัวด้วย ดังนั้นพูดตามจริงแล้วแต่ละแพ็กเก็ตจะมีขนาดประมาณ 12-1450 ไบต์โดยประมาณ สิ่งใดก็ตามที่ใหญ่กว่าจะถูกส่งเป็นแพ็กเก็ต TCP หลายแพ็กเก็ต

นอกจากนี้ โปรโตคอลสมัยใหม่ เช่น QUIC (และโดยส่วนขยาย HTTP/3) ใช้ UDP เพื่อส่งข้อมูล ย้ายการจัดการแพ็คเกจที่สูญหายไปยังแอปพลิเคชัน

ตอนนี้สำหรับเซิร์ฟเวอร์ DNS ฉันรู้ว่ามันใช้สำหรับแก้ไขชื่อโฮสต์ แต่สามารถใช้เพื่อพกพารูปภาพหรือไฟล์มัลติมีเดียอื่น ๆ ในเนื้อหาได้หรือไม่

แน่นอน. สร้างระเบียน TXT ด้วยรูปภาพหรือที่คล้ายกัน DNS ส่งข้อมูล โดยไม่สนใจว่าข้อมูลคืออะไร ในกรณีของระเบียน TXT สำหรับระเบียนอื่นๆ เช่น A, AAAA เป็นต้น มีข้อจำกัดทางเทคนิคบางประการเกี่ยวกับข้อมูลที่โปรโตคอลคาดหวัง ระเบียน TXT สามารถมีได้สูงสุด 255 ไบต์ แต่คุณสามารถมีได้ไม่จำกัดจำนวน

Patrick Mevzek avatar
cn flag
"ระเบียน TXT สามารถมีได้สูงสุด 255 ไบต์ แต่คุณสามารถมีได้ไม่จำกัดจำนวน" นั่นไม่ถูกต้องเลย ได้ คุณสามารถมีระเบียน TXT ได้หลายรายการ แต่ระเบียน TXT หนึ่งรายการ **ไม่ใช่** จำกัดไว้ที่ 255 ไบต์ บนเส้นลวดนั้นใช้ "อักขระสตริง" ซึ่งมีขนาดสูงสุด 255 ไบต์ แต่สามารถมีได้มากกว่าหนึ่งตัว ดังนั้น ในทางเทคนิคแล้ว ที่ระดับ DNS ระเบียน TXT หนึ่งระเบียนแทบจะไม่จำกัดเลย (หรือแม่นยำกว่านั้นมากถึง 65535 ไบต์ เนื่องจากแต่ละระเบียนมี RDLENGTH ใน 16 บิตที่เก็บความยาวของเนื้อหา)ค้นหาระเบียน TXT ของ `icann.org` มีเพียงรายการเดียว แต่ยาวกว่า 255 ไบต์...
Avv avatar
kz flag
Avv
@PatrickMevzek ขอขอบคุณ. คุณสามารถส่ง 65535 ไบต์ด้วยคำขอ DNS เดียวได้หรือไม่ โดยปกติแล้ว คำขอ DNS จะทำขึ้นเพื่อแก้ไขชื่อโฮสต์ แต่คุณหมายความว่าคุณสามารถเพิ่มข้อมูลตามอำเภอใจด้วยการร้องขอไปยังเซิร์ฟเวอร์ DNS ผ่านโปรโตคอล DNS ได้โปรด
vidarlo avatar
ar flag
@PatrickMevzek ขอบคุณสำหรับคำชี้แจง!
vidarlo avatar
ar flag
@Avv คุณสามารถส่งข้อมูลโดยพลการโดยใช้โปรโตคอล *ใดก็ได้* หากคุณต้องการ คุณสามารถเข้ารหัสรูปภาพเป็นที่อยู่ IPv4 และจัดส่งผ่าน DNS หรือคุณสามารถเข้ารหัส Base64 และส่งเป็นโทรเลขได้
Patrick Mevzek avatar
cn flag
@Avv "โดยปกติแล้ว คำขอ DNS จะทำขึ้นเพื่อแก้ไขชื่อโฮสต์" ไม่ DNS เป็นฐานข้อมูลออนไลน์แบบกระจายศูนย์ที่เชื่อมต่อกันอย่างหลวมๆ การใช้งานอย่างหนึ่งคือการแก้ไขชื่อโฮสต์เป็นที่อยู่ IP แต่อยู่ไกลจากชื่อเดียว ดูระเบียน `TXT` หรือ `SRV` เป็นตัวอย่างการใช้งานอื่นๆ "แต่คุณหมายความว่าคุณสามารถเพิ่มข้อมูลโดยพลการด้วยการร้องขอไปยังเซิร์ฟเวอร์ DNS" ใช่ แต่เซิร์ฟเวอร์ DNS ไม่มีเหตุผลที่จะยอมรับการสืบค้นของคุณและดำเนินการบางอย่างกับมัน
Avv avatar
kz flag
Avv
@PatrickMevzek ขอบคุณที่ชี้แจงความสับสน
Avv avatar
kz flag
Avv
@วิดาร์โล ขอบคุณมัน
Avv avatar
kz flag
Avv
@PatrickMevzek คำถามสุดท้ายโปรด คุณได้อธิบายมากกว่าที่ฉันต้องการแล้ว แต่สำหรับ DNS คุณบอกว่าเราสามารถส่งอิมเมจเป็น IP ได้ เหมือนกับว่าเราส่ง IP เพื่อแก้ไข แต่จริงๆ แล้วมันเป็นอิมเมจ ดังนั้นอย่างที่บอก คำขอ DNS เป็น IP ต้นทางของอุปกรณ์ของเราอยู่แล้ว เหตุใดเราจึงต้องเพิ่ม IP ที่เราต้องการแก้ไขในเนื้อหาของ DNS ด้วย หากไม่เป็นเช่นนั้น หมายความว่าเราเปลี่ยน IP ต้นทางของคำขอไปยังเซิร์ฟเวอร์ DNS เป็นรูปภาพ (บิต IP แทนข้อมูลรูปภาพ) ใช่ไหม
vidarlo avatar
ar flag
ละเว้น IP ต้นทางสักครู่ ประเด็นพื้นฐานคือโปรโตคอลประกอบด้วยข้อความค้นหาและคำตอบ และข้อความค้นหาและคำตอบสามารถมีข้อมูลได้ นั่นคือสิ่งที่คุณต้องการในการถ่ายโอนข้อมูล
Patrick Mevzek avatar
cn flag
@Avv ขออภัยฉันไม่เข้าใจคำถามของคุณและเราไปค่อนข้างไกลจากหัวข้อที่นี่ อย่างไรก็ตาม โปรดจำไว้ว่าไคลเอ็นต์ในโปรโตคอล DNS มักจะเป็นตัวแก้ไขแบบเรียกซ้ำ และเป็นที่อยู่ IP ของมันที่เนมเซิร์ฟเวอร์ที่มีสิทธิ์จะเห็น ไม่ใช่ที่อยู่ IP ของไคลเอ็นต์เหมือนในมนุษย์/เบราว์เซอร์/อื่นๆ ทำการแลกเปลี่ยนอินเทอร์เน็ต นอกจากนี้ IP ยังเป็น 32 หรือ 128 บิตเท่านั้น ดังนั้นจึงเป็นการยากที่จะเข้ารหัสรูปภาพลงในนั้น ไม่แน่ใจว่าคุณพูดถึงอะไร คุณสามารถจัดเก็บข้อมูล "ตามอำเภอใจ" ใน DNS โดยใช้ระเบียน `TXT` เป็นรูปแบบอิสระ ดังนั้นคุณจึงสามารถใช้ base64 ไบนารี่สตรีมที่นั่นได้
Avv avatar
kz flag
Avv
@PatrickMevzek คุณพูดว่า "นอกจากนี้ IP ยังเป็น 32 หรือ 128 บิต ดังนั้น จึงเป็นเรื่องยากที่จะเข้ารหัสรูปภาพลงในนั้น" แต่ vidarlo บอกว่า "ฉันเข้าใจ คุณสามารถส่งข้อมูลโดยพลการโดยใช้โปรโตคอลใดก็ได้ ถ้าคุณต้องการ คุณสามารถเข้ารหัส รูปภาพเป็นที่อยู่ IPv4 และจัดส่งผ่าน DNS หรือคุณสามารถเข้ารหัส Base64 และส่งเป็นโทรเลข" ดังนั้นฉันจึงสับสน ขอบคุณอย่างไรก็ตาม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา