Để đổi DNS cho GPRS các bạn làm như sau 1. Kết nối ĐT với máy tính qua cable USB, bật chế độ USB debugging. 2. Vào Command Prompt gõ lệnh Code: adb shell *** Cách dùng Android SDK để vào ADB các bạn tự tìm hiểu nhé. Cái này liên quan đến mấy thứ khác như USB driver, Android SDK... Mình không trình bày ra đây. 3. Gõ tiếp lệnh Code: setprop net.gprs.dns1 x.x.x.x setprop net.gprs.dns2 y.y.y.y thay x.x.x.x và y.y.y.y bằng DNS bạn muốn Vdụ DNS của google là 8.8.8.8 và 8.8.4.4 4. Để test xem đã thay đổi thành công hay chưa, các bạn có thể thử ping facebook Code: ping -c 3 facebook.com "-c 3" là để ping 3 packet thôi, bạn có thể thay đổi số lượng packet tùy thích. Nếu không có phần này nó sẽ ping hoài ko dừng. Các bạn phải bật GPRS lên và chỉnh APN cho phù hợp với mạng của mình mới test được.
Mình không dùng 3G nên không chắc được hay không nhưng bạn cứ thử làm như trên, nhưng thay vì "net.gprs.dns1" thì bạn dùng "net.dns1" Code: setprop net.dns1 x.x.x.x Nếu được thì bạn test thử rồi cho mình biết kết quả. ^^
Wow, rất đơn giản mà có tác dụng ngoài mong đợi, thanks bác nhiều hen. Đúng như bác nói : Hoạt động trên cả 3G lẫn GPRS lẫn Wifi luôn. Hahaha Đính chính:lúc mới đổi thì 5 phút đầu vào Facebook được bằng 3 loại kết nối kia. 5 phút sau hết vào được nữa. Vào ADB set lại thì lại vào được...thật là khó hiểu...không ổn định.
Trong ADB có thể dùng lệnh getprop để xem các property, nó sẽ bung ra 1 bảng rất dài, bạn hãy chú ý đến cái đoạn có mấy cái DNS Ví dụ của mình đoạn đó như thế này Code: [net.dns1.11233]: [203.113.131.1] [net.dns1.1261]: [203.113.131.1] [net.dns1.15856]: [203.113.131.1] [net.dns1]: [203.113.131.1] [net.dns2.11233]: [203.113.131.2] [net.dns2.1261]: [203.113.131.2] [net.dns2.15856]: [203.113.131.2] [net.dns2]: [203.113.131.2] [net.gprs.dns1]: [208.67.220.220] [net.gprs.dns2]: [208.67.222.222] [net.rmnet0.dns1]: [203.113.131.1] [net.rmnet0.dns2]: [203.113.131.2] Vấn đề không phải là sau 1 khoảng thời gian nó trở lại như cũ mà sau khi bạn tắt rồi bật lại GPRS/3G nó sẽ tự động cập nhật lại DNS của mạng. Ví dụ mình là Viettel thì nó sẽ tự động nạp lại DNS là 203.113.131.1 và 203.113.131.2 Mình đã thử đổi hết đống trên thành OpenDNS rồi tắt/bật lại GPRS kết quả như vậy Code: [net.dns1.11233]: [208.67.220.220] [net.dns1.1261]: [208.67.220.220] [net.dns1.15856]: [203.113.131.1] [net.dns1]: [203.113.131.1] [net.dns2.11233]: [208.67.222.222] [net.dns2.1261]: [208.67.222.222] [net.dns2.15856]: [203.113.131.2] [net.dns2]: [203.113.131.2] [net.dns3]: [208.67.222.222] [net.dns4]: [208.67.220.220] [net.gprs.dns1]: [208.67.220.220] [net.gprs.dns2]: [208.67.222.222] [net.rmnet0.dns1]: [203.113.131.1] [net.rmnet0.dns2]: [203.113.131.2] Hầu hết là bị nạp lại DNS của Viettel, nhưng cái net.gprs.dns1 vẫn không bị. Cho nên mình dùng GPRS vẫn bình thường. Còn cái giá trị OpenDNS của net.dns1 và net.dns2 thì bị đẩy xuống thành net.dns3 và net.dns4 >_< Vậy nên nếu tìm được một cái gì đó cho 3G mà tương đương với net.gprs.dns1 (không bị thay đổi mỗi lần tắt/bật) thì ok. Mình search trên mạng thì thấy có cái này net.eth0.dns1 , mình nạp thử cho nó OpenDNS rồi thử tắt/bật GPRS thì thấy nó không bị nạp lại giá trị DNS cùa Viettel. Mình không dùng 3G nên không kiểm tra vụ này được. ^^!
Còn một cách khác là cài DNSKeeper (cần phải ROOT máy) http://forum.xda-developers.com/showpost.php?p=5820263&postcount=5 http://www.mediafire.com/?u9f78bkjg0qu5bh Phần mềm này sẽ giữ cho DNS luôn cố định, chỉ cần setprop net.dns1 một lần thôi, sau này có tắt/bật cũng không bị nạp lại DNS của mạng nữa.
Hì, tới giờ thì DNSKeeper vẫn hoạt động tốt khi chuyển qua lại giữa 2G và 3G. Không biết vấn đề có xảy ra không nếu như máy khởi động lại. Cảm ơn bạn nhiều lắm Cập nhật : restart lại máy DNS vẫn hoạt động tốt.
Cám ơn bạn doubletakeit, bài viết rất hữu ích cho những người mới bắt đầu xài Android, dễ hiểu, dễ làm. Thanks!
cho e hỏi chức năng chính của việc đổi dns này là gì vì máy e vào fb ko được e nghĩ là củng phải thay dns như trên máy tính e dùng x10 mạng mobi thí cách làm cũng như trên ạ ?
Đang mò mẫu qua Android đây. Chuẩn bị chiến đấu cùng anh em. Mình có tải DNSkeeper về và để đính kèm trong bài. View attachment DNSKeeper.apk.zip
Xin đính chính lại là cái DNSKeeper sẽ luôn set DNS về OpenDNS (208.67.222.222 208.67.220.220) chứ không phải là giữ nguyên cái DNS mà mình đã setprop. Cái app đó mà cho phép mình chỉnh DNS theo ý muốn thì hay quá
Nếu mạng điện thoại bạn đang xài chặn FB thì bạn đổi DNS để vào được FB, đơn giản vậy thôi. Đối với máy tính thì người ta thường nói là đổi DNS để lướt web nhanh hơn, nhưng với điện thoại có nhanh hơn hay không thì mình không biết. Ngay cả đổi DNS trên máy tính mình cũng chẳng thấy gì khác về tốc độ lướt web, hoặc sự thay đổi đó quá nhỏ mình không nhận ra, hoặc nó chỉ nhanh hơn với một số trang web nhất định... Nói chung mình dùng chỉ để vào FB.
Ack, thế mà nghe cái tên tưởng là nó giữ DNS mình đã manual set, hóa ra nó tự động set về OpenDNS. Vậy nếu edit file apk đó, mình có thể set về Google DNS dễ dàng.
Nếu mở file classes.dex trong file apk bằng mấy cái HEX editor thì thấy DNS của OpenDNS, chắc chỉnh sửa cái đó sẽ được. Nhưng mà mình lại không biết cách resign lại cái apk như thế nào hết. :unsure:
mình làm nhưng trông có vẻ ko giống screen shot bạn chụp, ko có dấu # mà chỉ có dấu $, hình như ko set được thì phải, ko vào được facebook báo unknow host facebook.com mình cũng đã cài DNSkeeper ko thấy có gì thay đổi cả.
máy mình đã root rồi nhưng ko thấy cái đó. có phải làm gì để superuser nhận được nó ko, còn dùng làm những cái khác nữa tuy nhiên DNSkeeper đã hoạt động rồi, hóa ra phải chuyển mạng thì nó mới kích hoạt
Bạn phải tìm hiểu cách sử dụng ADB trước. Muốn dùng cái đó trước hết phải cài USB driver của ĐT lên máy tính, cái này mỗi ĐT một khác mình không thể viết một bài hướng dẫn chung được.