Tham dự Tech Lounge

Tham dự Tech Lounge


Đổi DNS cho GPRS

doubletakeit
13/9/2010 9:3Phản hồi: 50
Để đổ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.

50 bình luận
Chia sẻ

Xu hướng

cryshop
TÍCH CỰC
14 năm
Vậy còn áp dụng cho 3G thì sao bạn?
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ả. ^^
cryshop
TÍCH CỰC
14 năm
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.1203.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.dns1net.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.
vietdh66
TÍCH CỰC
13 năm
Nếu root đc máy rồi thì chỉ cần mở putty lên rồi connect vào android và su lên root rồi gõ
vi /etc/resolv.conf để edit file resolv.conf ( file này chứa dns) add vào các dns mà bạn muốn ví dụ muốn add dns của google : 8.8.8.8 và 8.8.4.4 thì thêm vào 2 dòng
nameserver 8.8.8.8
nameserver 8.8.4.4

rồi ấn esc và gõ :wq
cryshop
TÍCH CỰC
14 năm
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 ạ ?
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. :p
e chỉ đợi câu này ạ 😁
Đ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á :p
cryshop
TÍCH CỰC
14 năm
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:
sir_shady
ĐẠI BÀNG
14 năm
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ả.
Chỉ khi nào có root access thì mới xuất hiện dấu #
DNSKeeper cũng đòi hỏi phải root máy
sir_shady
ĐẠI BÀNG
14 năm
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 😃
cho e hỏi sao vào command prom gõ adb nó báo là ko reconize được
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.
gặp người quen rồi ta, bài viết hay ghê hehehe, bất ngờ ... ....!
sir_shady
ĐẠI BÀNG
14 năm
bạn doubletakeit nên bổ sung là sau khi -adb shell thì gõ tiếp su để máy nhận root đã. giúp cho các newbie dễ hiểu hơn
làm hết các bước nhưng sao lúc ping thì nó báo unknow host fb.com
Thật ra không cần lệnh su để thực hiện lệnh setprop. Bạn thấy hình mình chụp đó, mình không hề dùng su.

---------- Post added at 03:29 PM ---------- Previous post was at 03:28 PM ----------

Bạn kiểm tra lại là đã bật GPRS, 3G hay Wifi gì chưa. Nếu chưa có kết nối với internet làm sao ping được. ^^

---------- Post added at 03:30 PM ---------- Previous post was at 03:29 PM ----------

Chào Đức, username ngầu quá 😃
ping tinh tế yahoo v.v được mà 😔 dĩ nhiên là có bật mạng rồi :( ,a dùng số dns nào để log fb vậy e thử 8888 8844 ;210.245.22.22 ///.////.20.20 như trên máy tính mà ko ping thấy host
Bạn thử dùng của OpenDNS xem 208.67.222.222 và 208.67.220.220
vẫn là báo unknow host ạ e thử tinhte twitter thì ping thấy facebook.com thì ko
Bạn thử dùng lệnh getprop để kiểm tra xem đã gán DNS cho net.gprs.dns1 được hay chưa.
sir_shady
ĐẠI BÀNG
14 năm
chắc bạn bị giống mình rồi. máy chưa nhận quyền root của máy.
sau khi gõ lệnh -adb shell thì bạn gõ su sau đó nhìn phone accept quyền root của adb rồi mới gõ setprop nhé.

ko thì cài cái DNskepper rồi chuyển mạng từ 2G sang 3G nó sẽ set DNS vào fb được luôn
máy mình chưa có root buộc root mới đổi được dns à ? thế phải đợi 2.1 ra luôn 😔 chán
[MENTION=545599]takeit[/MENTION]x2: đã thử hai loại dns với gprs luôn mà với e cũng làm theo như hướng dẫn mà setprop net.gprs.dns1 xxxx gõ xong ko để ý nó ghi gì hình như là thuật lại cái số dns ở trên lần nữa
thấy dns1,2 là 203.162.4.190 ;203.162.0.181
DNS đó là DNS của mạng rồi, bạn không ping đc facebook đâu.

dns1,2 mà bạn nói là net.gprs.dns1,2 hay là net.dns1,2 ?
máy của mình thì net.gprs.dns1,2 không bị nạp lại mỗi lần tắt mở.

như vậy có thể bạn không thực hiện được lệnh setprop, sau khi bạn gõ dòng lệnh setprop nó có báo cái gì không? đại loại như không thực hiện được đó.

hay là bạn thử làm theo như sir_shady đi
root máy rồi gõ lệnh su trước khi gõ lệnh setprop
sir_shady
ĐẠI BÀNG
14 năm
bạn phải root máy thì mới có quyền setprop được nhé. kể cả DNSkeeper cũng phải root máy.

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019