จะตรวจสอบว่า DNS นั้นถูกเข้ารหัสได้อย่างไร?


14

ฉันได้ติดตั้งDNSCryptแล้วมันเป็นตัวแก้ไข DNS OpenDNS ที่เข้ารหัสสำหรับ Ubuntu และผู้ใช้ Linux คนอื่น & มันก็ใช้ได้ดี

ฉันจะรู้ได้อย่างไรว่า DNS ของฉันเข้ารหัสหรือไม่ ฉัน googled แล้วแต่ไม่พบอะไรเลย

สถานะ

one@onezero:~$ status dnscrypt 
dnscrypt start/running, process 1013
one@onezero:~$ sudo netstat -atnlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.2:53            0.0.0.0:*               LISTEN      1013/dnscrypt-proxy

Updated

Wireshark

@Alvar

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ไม่มี DNSCrypt

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


6

คุณสามารถตรวจสอบด้วยการWiresharkฟังการ์ดเครือข่ายของคุณเพียงทำตามขั้นตอนเหล่านี้:

  1. sudo apt-get install wireshark (วางลงในเทอร์มินัล)
  2. เริ่มจากเทอร์มินัลด้วยsudo wireshark(คุณต้องเป็นsudoเพื่อให้สามารถฟังการ์ดเครือข่ายของคุณได้)
  3. จากนั้นเริ่มฟังและกรองทุกอย่างยกเว้น IP ของคุณเอง

ตอนนี้เพียงแค่ตรวจสอบว่าโปรโตคอลDNSถูกเข้ารหัสหรือไม่

  1. ใช้ตัวกรองเพื่อแสดงเท่านั้น dns
  2. หยุดการสแกน
  3. คลิกที่รายการที่ระบุว่าDNSและมาจากไอพีของคุณ
  4. ตอนนี้คลิกที่โปรโตคอลการส่งเพื่อดูว่ามันถูกเข้ารหัส

@ OneZero คลิกที่บริเวณที่ไฮไลต์สีแดงที่ระบุว่าdnsดูที่นั่นคุณควรตรวจสอบว่ามีการเข้ารหัสอยู่หรือไม่
อัลวาร์

3

หากคุณใช้ OpenDNS เป็นเซิร์ฟเวอร์ DNS ที่รองรับ dnscrypt วิธีตรวจสอบว่าใช้งานได้หรือไม่ให้ใช้คำสั่งอย่างใดอย่างหนึ่งต่อไปนี้:

drill txt debug.opendns.com

dig txt debug.opendns.com

ข้อความคำตอบควรมีบรรทัดที่ระบุว่า "เปิดใช้งาน dnscrypt":

;; ANSWER SECTION:
debug.opendns.com.  0   IN  TXT "server 11"
debug.opendns.com.  0   IN  TXT "flags 22 2 222 2"
debug.opendns.com.  0   IN  TXT "id 6666666"
debug.opendns.com.  0   IN  TXT "source 209.6.69.160:44444"
debug.opendns.com.  0   IN  TXT "dnscrypt enabled (...)"

drillต้องใช้แพ็คเกจldnsutilsแม้ว่าdigทำงานได้และใช้nslookup -type=txt debug.opendns.comงานได้
คิวเมนตัส

1

ฉันติดตั้ง dnscrypt 1.1 บน Ubuntu 12.10

ฉันแก้ไข/etc/NetworkManager/NetworkManager.confเพื่อแสดงความคิดเห็น

dns=dnsmasq

จากนั้นเพิ่ม/etc/init/dnscrypt.confและรวมไว้ในสิ่งต่อไปนี้:

 description "dnscrypt startup script"

 start on (local-filesystems and started dbus and stopped udevtrigger)
 stop on runlevel [016]

 script
         exec /usr/sbin/dnscrypt-proxy -a 127.0.0.1 -d
 end script

ต่อไปฉันเปลี่ยนการตั้งค่าเครือข่ายเป็นใช้ 127.0.0.1 สำหรับ DNS:

จากนั้นฉันเริ่มระบบใหม่และทำให้แน่ใจว่าdnscryptทำงานอยู่และนั่นdnsmasqไม่ใช่:

 ps aux | grep dns
 root      6581  0.0  0.0  16116   720 ?        Ss   04:47   0:00 /usr/sbin/dnscrypt-proxy -a 127.0.0.1 -d

จากนั้นฉันเปิดwiresharkเพื่อตรวจสอบว่า DNS นั้นถูกเข้ารหัส:

ดูเหมือนว่ามันจะไม่

การเยี่ยมชมhttp://www.opendns.com/welcome/ยืนยันว่าฉันใช้ opendns

]


0

ตกลงฉันเข้าใจแล้ว!

เรียกใช้ dnscrypt-proxy --deamonize (ควรรันอยู่แล้ว)

  1. ไปที่ไอคอนเครือข่ายที่ด้านบนและไปที่การตั้งค่าเครือข่าย
  2. ไปที่การเชื่อมต่อปัจจุบันของคุณและคลิกกำหนดค่า ...
  3. ไปที่แท็บการตั้งค่า IPv4
  4. ภายใต้ฟิลด์เซิร์ฟเวอร์ DNS และโดเมนการค้นหาให้ป้อน: 127.0.0.1
  5. มุ่งหน้าไปที่http://opendns.com/welcome

หากคุณถูกเปลี่ยนเส้นทางไปที่http://opendns.com/welcome/oops แสดงว่าการตั้งค่าไม่ถูกต้อง

ขอโทษสำหรับเรื่องนั้น. ฉันไม่ต้องการไปสู่ความเจ็บปวดเพื่อเซ็ตมันให้หมด แต่มันง่ายมาก! หวังว่าคุณจะได้เรียนรู้บางสิ่ง ฉันแน่ใจ!


ฉันจะตรวจสอบจำนวนคิวถูกส่งไปยังเซิร์ฟเวอร์ DNS ที่เข้ารหัสได้หรือไม่
ศูนย์หนึ่ง

1
ฉันไม่เข้าใจสิ่งที่คุณหมายถึงมันจะถูกส่งไปยังความเป็นไปได้สูงสุดสองอย่างในสถานการณ์เครือข่ายภายในบ้านส่วนใหญ่เท่านั้น ส่วนใหญ่คุณจะตั้งค่าเหล่านั้นในเราเตอร์หรือไฟล์ /etc/resolv.conf ของคุณ ดังนั้นทุกครั้งที่คอมพิวเตอร์ของคุณขออะไรเราเตอร์ของคุณจะถามเซิร์ฟเวอร์ DNS ทั้งสองนั้น ไม่มีคนอื่นเพราะไม่รู้จักคนอื่น หากคุณต้องการทราบว่าคุณสามารถใส่เครื่องที่มี NIC สองเครื่องและ Wireshark ระหว่างคอมพิวเตอร์และเราเตอร์ของคุณ จากนั้นคุณสามารถอ่านแพ็กเก็ตที่ข้ามคอมพิวเตอร์ได้ แต่แน่นอนคุณต้องรู้ว่าคุณกำลังมองหาอะไร
Chuck R

ใช่, ดีมาก, คุณควรรวมรายละเอียดนี้ไว้ในคำตอบของคุณ
One Zero

โผล่! คุณเห็นคำตอบที่อัปเดตของฉันหรือไม่
Chuck R

ใช่ฉันทำแล้วมันคือ 127.0.0.2 ถ้าคุณใช้สคริปต์ upstart เหมือน im, ดู w8 help, ตรวจสอบแล้วว่า open dns ยินดีต้อนรับเหมือนกันกับการเข้ารหัสและไม่เข้ารหัส
One Zero

0

dnscrypt-proxy ยอมรับคำขอ DNS เข้ารหัสและลงนามโดยใช้ *  dnscrypt  * และส่งต่อไปยังตัวแก้ไข dnscrypt ที่เปิดใช้งานจากระยะไกล

การตอบกลับจากโปรแกรมแก้ไขนั้นคาดว่าจะถูกเข้ารหัสและเซ็นชื่อด้วย

พร็อกซีตรวจสอบลายเซ็นของการตอบกลับถอดรหัสพวกเขาและส่งต่อพวกเขาไปยังผู้แก้ไขต้นขั้วท้องถิ่น

dnscrypt-proxy รับฟัง 127.0.0.1 / พอร์ต 53 โดยค่าเริ่มต้น


-1

คุณไปที่หน้ายินดีต้อนรับของ OpenDNSและคุณควรเห็นบางสิ่งเช่น "ยินดีต้อนรับสู่ OpenDNS! อินเทอร์เน็ตของคุณปลอดภัยกว่าเร็วกว่าและฉลาดกว่าเพราะคุณใช้ OpenDNS" ซึ่งหมายความว่าคุณกำลังใช้ OpenDNS เป็นผู้ให้บริการ DNS และหากคุณไม่ได้กำหนดค่า OpenDNS โดยไม่ต้อง dnscryptคำขอ DNS ของคุณควรได้รับการเข้ารหัส

อีกวิธีหนึ่งก็คือการสอดแนมทราฟฟิก DNS โดยใช้ wireshark, tcpdump และดูว่ามันเข้ารหัสแน่นอนหรือไม่ แต่มันซับซ้อนกว่าและต้องใช้ความรู้เชิงลึก


opendns.com/welcome > คุณเคยอยู่ที่นั่นมาก่อนเกี่ยวกับ open-dns dns ให้ฉันตรวจสอบบนแล็ปท็อปของฉันโดยไม่มีการเข้ารหัส
One Zero

เช่นเดียวกับที่แสดงที่นี่
One Zero

OpenDNS ไม่ได้เป็นเพียงผู้ให้บริการที่เปิดใช้งาน DNScrypt sudo dnscrypt-proxy --daemon -a 127.0.0.2 --resolver-address=23.226.227.93:443 --provider-name=2.dnscrypt-cert.okturtles.com --provider-key=1D85:3953:E34F:AFD0:05F9:4C6F:D1CC:E635:D411:9904:0D48:D19A:5D35:0B6A:7C81:73CBเป็นหนึ่งในหลาย ๆ ที่ไม่ได้ใช้ OpenDNS
mchid
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.