Điểm:0

Gửi hình ảnh qua giao thức DNS

lá cờ kz
Avv

Giao thức HTTP ở lớp ứng dụng có thể mang âm thanh, hình ảnh, v.v. trong phần thân trên 1 hoặc nhiều phản hồi TCP trong trường hợp kích thước tệp vượt quá 4 MB (kích thước phần thân của phản hồi HTTP nếu tôi không nhầm).

Bây giờ đối với máy chủ DNS, tôi biết nó được sử dụng để phân giải tên máy chủ, nhưng liệu nó có thể được sử dụng để mang hình ảnh hoặc các tệp đa phương tiện khác trong phần thân của nó không?

Cảm ơn bạn.

Massimo avatar
lá cờ ng
Nó có thể *có thể về mặt kỹ thuật* theo một số cách rất phức tạp (xem https://en.wikipedia.org/wiki/IP_over_Avian_Carriers). Nhưng tại sao trên thế giới người ta lại làm điều đó, ngoài việc "Tôi muốn xem liệu tôi có thể làm cho nó hoạt động được không"?
SamErde avatar
lá cờ gg
Tôi không nghĩ rằng bạn sẽ tìm thấy trường hợp sử dụng hợp pháp để thực hiện việc này và không phải trường hợp nào được hỗ trợ bởi bất kỳ triển khai đặc tả giao thức DNS nào. Bạn đã thử IPoAC chưa? ;)
Avv avatar
lá cờ kz
Avv
Cảm ơn bạn đã thông tin.
Patrick Mevzek avatar
lá cờ cn
Vì có "triển khai" TCP qua DNS, nên về mặt kỹ thuật, bạn có thể trao đổi qua nó bất cứ thứ gì bạn muốn (và nó được sử dụng theo một cách nào đó để lọc dữ liệu sau một số lần khai thác). Nhưng tại sao bạn muốn làm điều đó, đây là một câu hỏi thú vị? DNS là một giao thức để phân phối dữ liệu (tương tự như cơ sở dữ liệu có tính nhất quán thấp/chậm phi tập trung) chủ yếu cần thiết để khám phá và tìm dịch vụ. Nó không phù hợp với các nhu cầu khác như gửi các tệp tùy ý, trong đó HTTP/FTP/SCP/v.v. được điều chỉnh cho phù hợp với điều đó. Cũng nên nhớ rằng DNS hoạt động trên UDP VÀ TCP và UDP không có điều khiển truyền tải
lá cờ vn
https://www.akamai.com/blog/news/introduction-to-dns-data-exfilter
Điểm:3
lá cờ ar

Giao thức HTTP ở lớp ứng dụng có thể mang âm thanh, hình ảnh, v.v. trong phần thân trên 1 hoặc nhiều phản hồi TCP trong trường hợp kích thước tệp vượt quá 4 MB (kích thước phần thân của phản hồi HTTP nếu tôi không nhầm).

Trước hết các gói nhỏ; thông thường, MTU là 1500 byte và điều này bao gồm các tiêu đề, do đó, thực tế mà nói, mỗi gói có kích thước xấp xỉ 12-1450 byte. Mọi thứ lớn hơn sẽ được gửi dưới dạng nhiều gói TCP.

Hơn nữa, các giao thức hiện đại như QUIC (và HTTP/3 mở rộng) sử dụng UDP để vận chuyển dữ liệu, chuyển việc xử lý các gói bị mất sang ứng dụng.

Bây giờ đối với máy chủ DNS, tôi biết nó được sử dụng để phân giải tên máy chủ, nhưng liệu nó có thể được sử dụng để mang hình ảnh hoặc các tệp đa phương tiện khác trong phần thân của nó không?

Chắc chắn rồi. Tạo bản ghi TXT bằng hình ảnh hoặc tương tự. DNS vận chuyển dữ liệu. Nó không đặc biệt quan tâm đến dữ liệu là gì, trong trường hợp bản ghi TXT. Đối với các bản ghi khác, chẳng hạn như A, AAAA, v.v., có một số ràng buộc kỹ thuật đối với dữ liệu mà giao thức mong đợi. Bản ghi TXT có thể lên tới 255 byte, nhưng bạn có thể có số lượng không giới hạn.

Patrick Mevzek avatar
lá cờ cn
"Bản ghi TXT có thể lên tới 255 byte, nhưng bạn có thể có số lượng không giới hạn." Điều đó không hoàn toàn đúng. Có, bạn có thể có nhiều bản ghi TXT. Nhưng một bản ghi TXT nhất định **KHÔNG** giới hạn ở 255 byte. Trên dây, nó sử dụng "chuỗi ký tự" có nhiều nhất là 255 byte, nhưng nó có thể có nhiều hơn một trong số đó. Vì vậy, về mặt kỹ thuật, ở cấp độ DNS, một bản ghi TXT gần như không giới hạn (hay chính xác hơn là lên tới 65535 byte vì mỗi bản ghi có RDLENGTH trên 16 bit lưu trữ độ dài của nội dung).Tìm kiếm bản ghi TXT của `icann.org` chỉ có một, nhưng dài hơn 255 byte...
Avv avatar
lá cờ kz
Avv
@PatrickMevzek. Cảm ơn bạn. Vì vậy, bạn có thể gửi 65535 byte với một yêu cầu DNS? Thông thường, yêu cầu DNS được thực hiện để phân giải tên máy chủ, nhưng ý bạn là bạn có thể thêm dữ liệu tùy ý bằng yêu cầu tới máy chủ DNS qua giao thức DNS?
vidarlo avatar
lá cờ ar
@PatrickMevzek cảm ơn vì đã làm rõ!
vidarlo avatar
lá cờ ar
@Avv Bạn có thể vận chuyển dữ liệu tùy ý bằng giao thức *any*. Nếu muốn, bạn có thể mã hóa hình ảnh dưới dạng địa chỉ IPv4 và gửi chúng qua DNS. Hoặc bạn có thể mã hóa Base64 và gửi chúng dưới dạng điện tín.
Patrick Mevzek avatar
lá cờ cn
@Avv "Thông thường, yêu cầu DNS được thực hiện để phân giải tên máy chủ". Không. DNS là một cơ sở dữ liệu phi tập trung được kết hợp lỏng lẻo trực tuyến. MỘT trong những cách sử dụng của nó là phân giải tên máy chủ thành địa chỉ IP, nhưng nó không phải là cách duy nhất. Xem các bản ghi `TXT` hoặc `SRV` để biết ví dụ về các mục đích sử dụng khác. "nhưng ý bạn là bạn có thể thêm dữ liệu tùy ý bằng một yêu cầu tới máy chủ DNS" Có nhưng máy chủ DNS không có lý do gì để chấp nhận truy vấn của bạn và thực hiện điều gì đó với truy vấn đó.
Avv avatar
lá cờ kz
Avv
@PatrickMevzek. Cảm ơn đã làm rõ sự nhầm lẫn.
Avv avatar
lá cờ kz
Avv
@vidarlo. Cảm kích điều đó.
Avv avatar
lá cờ kz
Avv
@PatrickMevzek. Câu hỏi cuối xin vui lòng. Bạn đã giải thích nhiều hơn những gì tôi cần, nhưng đối với DNS, bạn đã đề cập rằng chúng tôi có thể gửi hình ảnh dưới dạng IP như thể chúng tôi đang gửi IP để giải quyết nhưng thực tế đó là một hình ảnh, do đó, như đã nói, yêu cầu DNS đã là IP nguồn của thiết bị của chúng tôi, vậy tại sao chúng ta cũng cần thêm IP mà chúng ta muốn phân giải trong phần thân của DNS? Nếu không phải như vậy, thì điều đó có nghĩa là chúng tôi thay đổi IP nguồn của yêu cầu tới máy chủ DNS thành hình ảnh (các bit IP đại diện cho dữ liệu hình ảnh) phải không?
vidarlo avatar
lá cờ ar
Bỏ qua IP nguồn trong giây lát. Điểm cơ bản là giao thức bao gồm một truy vấn và câu trả lời, và truy vấn và câu trả lời đó có thể chứa dữ liệu. Đó là những gì bạn cần để chuyển dữ liệu.
Patrick Mevzek avatar
lá cờ cn
@Avv Xin lỗi, tôi không hiểu câu hỏi của bạn và chúng tôi đã đi khá xa khỏi chủ đề ở đây. Tuy nhiên, hãy nhớ rằng ứng dụng khách trong giao thức DNS thường là trình phân giải đệ quy và chính địa chỉ IP của nó mà máy chủ định danh có thẩm quyền sẽ nhìn thấy, chứ không phải địa chỉ IP của ứng dụng khách như trong con người/trình duyệt/v.v. thực hiện một số trao đổi Internet. Ngoài ra, một IP chỉ có 32 hoặc 128 bit, vì vậy sẽ khó mã hóa hình ảnh thành đó. Không chắc chắn những gì bạn đề cập đến đó. Bạn có thể lưu trữ dữ liệu "tùy ý" trong DNS bằng cách sử dụng bản ghi `TXT`. Đây là dạng miễn phí, vì vậy bạn có thể tạo cơ sở64 cho một luồng nhị phân ở đó chẳng hạn.
Avv avatar
lá cờ kz
Avv
@PatrickMevzek. Bạn nói, "Ngoài ra, một IP chỉ có 32 hoặc 128 bit, vì vậy sẽ khó mã hóa hình ảnh thành đó.", nhưng vidarlo nói "Tôi hiểu Bạn có thể truyền dữ liệu tùy ý bằng bất kỳ giao thức nào. Nếu muốn, bạn có thể mã hóa một hình ảnh dưới dạng địa chỉ IPv4 và gửi chúng qua DNS. Hoặc bạn có thể mã hóa Base64 và gửi chúng dưới dạng điện tín." Vì vậy, tôi chỉ bối rối. Dẫu sao cũng xin cảm ơn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.