Bài đăng nổi bật

Hướng dẫn thay đổi thư mục root mặc định của Docker trên Linux

Hoàn cảnh: người viết gặp một trường hợp như này Được team hạ tầng cấp cho một máy chủ gồm 2 phân vùng lưu trữ, 1 phân vùng 20GB được gắn và...

16 tháng 5, 2014

An toàn với các URL shortener



Ngày nay, việc sử dụng các liên kết dạng rút gọn đang trở nên phổ biến. Thay vì bạn phải cung cấp cho người dùng những url dài ngoằng và phức tạp thì thông qua dịch vụ url shortener này, bạn sẽ có những địa chỉ liên kết ngắn gọn và dễ nhớ. Tuy nhiên đây cũng trở thành công cụ cho kẻ xấu lợi dụng để lừa người dùng.
Với các url shortener, người dùng thông thường sẽ không có cách nào để kiểm tra xem liên kết này có thực sự an toàn hay không và thực sự biết là liên kết này đang dẫn tới đâu (có thể là một trang quảng cáo hoặc đưa bạn tới một liên kết tải phần mềm mã độc,...).
Trong bài viết này, tôi sẽ giúp bạn một số thủ thuật để nhanh chóng xem được thông tin các liên kết này trước khi quyết định có ghé thăm trang gốc thực sự của link hay không.
Dịch vụ bit.ly
Thông thường, các liên kết sử dụng dịch vụ của bit.ly sẽ có dạng http://bit.ly/RbQAC trong đó chuỗi RbQAC là do dịch vụ bit.ly sinh ra.
Để xem thông tin chi tiết và liên kết, bạn hãy copy địa chỉ này bằng cách bấm chuột phải vào liên kết và chọn “Copy link location” và dán lên trình duyệt. Sau đó trên thanh địa chỉ của trình duyệt, bạn thêm dấu “+” vào cuối link (khi đó link sẽ có dạng http://bit.ly/RbQAC+) và nhấn enter để xem.
Dịch vụ tinyurl.com
Thông thường, các liên kết sử dụng dịch vụ của tinyurl sẽ có dạng tinyurl.com/hmmmplay trong đó chuỗi hmmmplay là do dịch vụ tinyurl sinh ra.
Để xem thông tin chi tiết và liên kết, bạn hãy copy địa chỉ này bằng cách bấm chuột phải vào liên kết và chọn “Copy link location” và dán lên trình duyệt. Sau đó trên thanh địa chỉ của trình duyệt, bạn thêm cum “preview” vào đầu link (khi đó link sẽ có dạng http://preview.tinyurl.com/hmmmplay) và nhấn enter để xem.
Dịch vụ goo.gl
Thông thường, các liên kết sử dụng dịch vụ của goo.gl sẽ có dạng goo.gl/8wTc trong đó chuỗi 8wTc là do dịch vụ goo.gl sinh ra.
Để xem thông tin chi tiết và liên kết, bạn hãy copy địa chỉ này bằng cách bấm chuột phải vào liên kết và chọn “Copy link location” và dán lên trình duyệt. Sau đó trên thanh địa chỉ của trình duyệt, bạn thêm dấu “+” hoặc cụm “.info” vào cuối link (khi đó link sẽ có dạng goo.gl/8wTc+ hoặc goo.gl/8wTc.info) và nhấn enter để xem.

13 tháng 5, 2014

DdoS – Distributed denial-of-service attack – Tấn công từ chối dịch vụ phân tán (P1)

Tấn công DdoS là hình thức nhiều máy tính (hệ thống) tổng tấn công vào một mục tiêu nào đó, từ đó gây hiện tượng quá tải cho mục tiêu dẫn tới mục tiêu không thể đáp ứng dịch vụ cho người dùng thông thường. Hay người đọc có thể hiểu nôm na như nhà bạn nằm trong một cái ngõ. Thông thường thì cái ngõ này có khả năng cho phép mười ông ra vào cùng lúc. Tuy nhiên có một nhóm kẻ xấu muốn phá hoại, không cho ai tới thăm nhà bạn cả. Và chung tập trung một nhóm người lại rồi thi nhau đi ra đi vào cái ngõ nhà bạn khiến cho cái ngõ chật cứng và dĩ nhiên lúc đó thì bạn chả còn ông khách chân chính nào đến thăm được nữa.
Vậy DdoS được thực hiện như thế nào?
Ban đầu, kẻ xấu sẽ tân dụng những lỗ hổng của một mạng máy tính nào đó để biến nó thành một “vật chủ chính”, DdoS master. Từ vật chủ này, hay còn được gọi là botmaster, nó sẽ tìm cách lây nhiễm sang cá hệ thống khác bằng cách lợi dụng các lỗ hổng bảo mật thông qua việc phát tán các malware. Bằng cách này, kẻ tấn công có thể ra lệnh cho các máy bị nhiễm tham gia vào cuộc tấn công vào một nạn nhân cụ thể.
Hiện có hai kiểu tấn công DdoS: tấn công mạng trung tâm – network-centric attack – là kiểu tấn công gây quá tải cho một dịch vụ bằng cách chiếm băng thông và kiểu tấn công lớp ứng dụng – application-layer attack – là kiểu tấn công gây quá tải cho một dịch vụ hoặc cơ sở dữ liệu mà ứng dụng của bạn cần sử dụng. Việc gây ngập lụt cho mục tiêu bằng các gói dữ liệu sẽ khiến cho mục tiêu mất đi khả năng đáp ứng. Thông thường, khi xảy ra một cuộc tấn công DdoS chúng ta chỉ tập trung vào nạn nhân trực  tiếp của cuộc tấn công nhưng thực tế nạn nhân của nó lại bao gồm cả hệ thống đang bị điều khiển, mà dân tình mạng gọi chúng bằng cái tên khá thú vị “zombie” hay “bot” và tập hợp này thường được gọi là một “botnet”
Thế bạn có biết Ddos hoạt động như nào hay không?
                Ý tưởng ở đây rất đơn giản. Kẻ tấn công sau khi xác định được mục tiêu sẽ ra lênh cho đội quân “zombie” của mình “liên hệ” với “nạn nhân” theo kiểu hỏi “Ê chủ quán, cho bọn anh làm vài cốc bia nhé?”, thực tế nó chỉ hỏi thế thôi nhưng không thèm mua đâu, chỉ khổ thân ông chủ quán tưởng thật chạy ra chạy vào phục vụ nhiệt tình. Với thao tác này, kẻ tấn công sẽ dần dần hoặc đột ngột gia tăng lượng truy cập vào hệ thống nạn nhân khiến nó bị giảm khả năng phục vụ hoặc thậm chí nghiêm trọng hơn là bị “gục” hoàn toàn. Đây được gọi là Ddos.
                Đôi khi, kẻ tấn công có thể lợi dụng cả các máy bình thường – ta tạm hiểu như một người đi đường ngây thơ không biết gì – tham gia vào cuộc tấn công. Việc này được thực hiện như sau: kẻ tấn công tiến hành gửi một lệnh khởi tạo tấn công tới đội quân zombie của mình; mỗi một tên zombie này sẽ bắt đầu gửi các yêu cầu tới một máy tính thông thường khác, được gọi là các máy “phản xạ”; khi các máy phản xạ này nhận được yêu cầu, chúng lại nghĩ rằng thực ra yêu cầu này là từ máy nạn nhân của cuộc tấn công gửi tới (do các zombie đã đánh lừa chúng) và chúng sẽ hồn nhiên gửi thông tin ngược lại cho nạn nhân. Với cách tấn công này, kẻ tấn công có thể lợi dụng sức mạnh của các máy phản xạ để gây ngập lụt cho mục tiêu của mình. Nếu đứng từ góc nhìn của nạn nhân, thì thực tế nó đang bị tấn công bởi chính các máy phản xạ chứ không phải từ đội quân zombie kia. Còn từ góc nhìn của các máy phản xạ, thì nó là nạn nhân của các truy gói tin truy vấn. Như thế, đội quân zombie kia gần như ẩn mình hoàn toàn trong cuộc tấn công.
Ddos không chừa một ai.
Các nạn nhân của Ddos cũng có xuất hiện một số ông lớn. Ví dụ Microsoft cũng đã từng đón nhận một cuộc tấn công Ddos có tên gọi là MyDoom. Kẻ tấn công thường nhắm tới những hệ thống lớn như Amazone, CNN, Yahoo và eBay. Ddos gây ra những hậu quả từ rất nhẹ cho tới cực kì khủng khiếp:
  • ·         Ping of Death: các máy tấn công sẽ tạo ra một lượng khổng lồ các gói tin và gửi tới nạn nhân.
  • ·         Mailbomb: các máy tấn công gửi một lượng lớn thư điện tử gây nghẽn máy chủ thư.
  • ·         Smurf Attack: các máy tấn công gửi các thông điệp ICMP (Internet Control Message Protocol – Giao thức tin nhắn điều khiển mạng) tới máy chủ phản xạ - reflector.
  • ·         Teardrop: các máy tấn công gử các mảnh dữ liệu bất hợp pháp – hay gọi là dữ liệu lộn xộn, và hệ thống nạn nhân sẽ cố gắng ghép các mảnh này lại thành một gói tin có nghĩa và dẫn tới bị crash – chắc là ghép mãi mà không được nên bị xì troét.
      Một khi đã bị tấn công Ddos, người quản trị chỉ có thể làm một số việc để giảm thiểu hậu quả, ví dụ như giới hạn lưu lượng cho phép đi vào máy chủ của mình, nhưng điều này cũng đồng nghĩa giới hạn cả các kết nối hợp pháp. Nếu người quản trị có thể xác định chính xác nguồn gốc của các máy tấn công cũng có thể tiến hành lọc luồng kết nối từ đó. Thật không may, các máy zombie có thể nằm khắp nơi trên thế giới, do đó không dễ dàng gì để thực hiện việc này.
Vậy kẻ tấn công đã tạo ra các zombie như thế nào? 
      Kẻ tấn công tiến hành biến các máy tính thành các zombie bằng cách sử dụng một chương trình nhỏ để lây nhiễm vào các máy này thông qua các lỗ hổng của hệ điều hành. Thực tế, những tên này không hẳn là những siêu nhân về máy tính mà thường chỉ là những kẻ không có kiến thức và kinh nghiệm lập trình ( thường được gọi là “script kiddies” do đây là những đối tượng có kĩ năng code rất tồi). Một số chuyên gia giám sát các botnet nói rằng đa phần các chương trình do các kiddies này tạo nên thường được làm rất cẩu thả.

     Để lây nhiễm, kẻ tấn công đầu tiên phải cài đặt được ứng dụng của mình vào máy nạn nhân. Các con đường lây nhiễm có thể là qua email, chia sẻ mạng ngang hàng hoặc thậm chí thông qua một website bình thường nào đó đã bị chúng kiểm soát. Phần lớn, kẻ tấn công sẽ tìm cách lừa nạn nhân tự nguyện cài các ứng dụng này lên máy. Ví dụ, bạn đã bao giờ thấy một cửa sổ hiện lên có một nút ghi là “No thanks” chưa? Hi vọng bạn đừng có bấm vào nó nhé – thường các nút này là một cách lừa đấy – Tôi đã từng có một anh bạn nghịch ngợm viết một ứng dụng, khi cài đặt, anh ta ghi rõ ràng lên màn hình một đoạn dài thông báo cho người dùng đây là một ứng dụng virus và người dùng có đồng ý cài không, thế mà nhiều bác vẫn nhắm mắt bấm Yes mới ghê. Như vậy thay vì tắt pop-up này thì bạn đang trực tiếp tải về một phần mềm độc hại.

        Một khi nạn nhân đã tải về ứng dụng, anh ta sẽ kích hoạt nó. Trong phần lớn trường hợp, người ta sẽ nghĩ đây là một ứng dụng gì đó. Có thể nó hiện ra là một tập tin ảnh, một clip hoặc một tập tin gì đó (do cái extension gây ra thôi). Khi nạn nhân mở tập tin này, sẽ chả có gì xảy ra cả. Nếu nạn nhân có cài ứng dụng diệt virus,… thì có thể sẽ nhận được cảnh báo. Không may là, một số người lại nghĩ đây có thể làm một tập tin hỏng nên không cài được và bỏ qua nó.

        Thực tế, chương trình đã tự đính nó vào một nơi nào đó của hệ điều hành để có thể khởi động cùng máy tính mỗi khi nạn nhân bật máy. Để tránh bị phát hiện, kẻ tấn công sẽ không sử dụng cùng một vị trí đặt ứng dụng của mình.

        Ứng dụng này có thể chứa một số câu lệnh để thực hiện một số công việc nào đó vào một thời điểm định trước hoặc cho phép kẻ tấn công điều khiển máy tính nạn nhân. Rất nhiều các ứng dụng dạng này sử dụng IRC (Internet Relay Chat), và thực tế có các cộng đồng botnet sử dụng mạng IRC để hỗ trợ nhau hoặc để chiếm các botnet của nhau.
                Và một khi đã bị nhiễm, các máy nạn nhân sẽ được kẻ tấn công mặc sức dày vò – tự do làm bất cứ điều gì hắn muốn. Đa phần kẻ tấn công sẽ chờ đợi khi người dùng bất cẩn nếu không hắn sẽ khiến người dùng phát hiện và hắn sẽ mất đi một chiến binh trong đội quân của mình.
[Trong phần tiếp theo tôi sẽ đề cập tới mối quan hệ giữa máy zombie và việc phát tán rác ]

07 tháng 5, 2014

Cơ bản về tường lửa trên Linux với Iptables

Bài viết này mình chỉ tập trung vào một số kiến thức cơ bản về tường lửa trên Linux với ứng dụng Iptables.
Trước khi đi vào bài viết, có một số note trước khi bắt đầu bạn cần lưu ý:
  • Nguyên tắc áp dụng luật trên Iptables: áp dụng theo thứ tự từ trên xuống, nếu không tìm thấy luật nào thì chuyển sang dòng tiếp theo, nếu khớp với một luật thì iptables sẽ áp dụng luật đó và ngừng kiểm tra dòng tiếp theo.
  • Để sao lưu các luật trong iptables ta dùng lệnh service iptables save, tập tin sao lưu mặc định sẽ nằm ở /etc/sysconfig/iptables.
  • Để khôi phục các luật trong iptables ta dùng lệnh  iptables-restore < /etc/sysconfig/iptables.
Bây giờ ta bắt đầu đi vào tìm hiểu.
Iptables bao gồm 3 tập tin là:
  • /etc/init.d/iptables – là kịch bản điều kiển bao gồm start|stop|restart và save.
  • /etc/sysconfig/iptables – Vị trí sao lưu luật.
  • /sbin/iptables – ứng dụng chạy.
Iptables bao gồm 3 bảng:
  • Filter
  • NAT
  • Mangle
Hiện tại, iptables bao gồm 4 chain:
  • INPUT: dành cho các luồng đi vào hệ thống
  • OUTPUT: dành cho các luồng đi ra từ hệ thống
  • FORWARD: dành cho các luồng đi qua hệ thống từ các giao diện khác (?)
  • RH-Firewall-1-INPUT: luồng do người dùng tự định nghĩa.
Lưu ý: Các thông tin ở trên có thể hơi khác biệt trên các phiên bản hệ điều hành khác nhau.
Để bật, tắt hoặc khởi động lại iptables ta dùng các lệnh như sau:
# /etc/init.d/iptables start 
# /etc/init.d/iptables stop
# /etc/init.d/iptables restart
Để yêu cầu mỗi khi khởi động lại hệ điều hành, iptables tự động được bật ta chạy lệnh sau:
#chkconfig --level 345 iptables on
Để sao lưu các luật trong iptables ta dùng lệnh sau:
#service iptables save
Mặc định dữ liệu sau lưu sẽ nằm tại /etc/sysconfig/iptables. Dữ liệu này có thể dùng để phục hồi lại cho iptables sau này.
Để kiểm tra trạng thái của iptables ta dùng lệnh sau, với -L là liệt kê danh sách luật, -n là hiển thị dưới dạng số, -v là hiển thị chi tiết:
[root@tecmint ~]# iptables -L -n -v

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    6   396 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 5 packets, 588 bytes)
 pkts bytes target     prot opt in     out     source               destination
Để thêm các đánh dấu dòng khi hiển thị trạng thái của iptables ta dùng thêm tùy chọn --line-numbers. Với tham số này ta có thể sử dụng số dòng để thêm, bớt hoặc xoá các luật chỉ định.
[root@tecmint ~]# iptables -n -L -v --line-numbers

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1       51  4080 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
3        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
4        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 45 packets, 5384 bytes)
num   pkts bytes target     prot opt in     out     source               destination
Để xóa toàn bộ luật trong iptables ta dùng lệnh sau:
[root@tecmint ~]# iptables -F
 Xóa hoặc chèn thêm một luật. Trước tiên ta cần phải hiểu sơ qua các luật trong iptables. Lênh dưới đây sẽ hiển thị tất cả các luật trong INPUT, OUTPUT của iptables, các thông số này sẽ giúp ta có thể dễ dàng xóa hoặc thêm các luật mới:
[root@tecmint ~]# iptables -L INPUT -n --line-numbers

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

[root@tecmint ~]# iptables -L OUTPUT -n --line-numbers
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
Giả sử ta muốn xóa luật thứ 5 trong INPUT, ta phải nhập lệnh sau:
[root@tecmint ~]# iptables -D INPUT 5

Giả sử ta muốn thêm một luật vào giữa luật số 4 và 5 của INPUT ta dùng lệnh sau:
[root@tecmint ~]# iptables -I INPUT 5 -s ipaddress -j DROP
Trên đây là những kiến thức cơ bản với iptables. Để có thể hiểu thêm chi tiết về Iptables tôi sẽ mạn phép trình bày ở một bài viết khác.

27 tháng 4, 2014

Cách loại bỏ trojan "Distributed computing Experiment" - Một trojan đào bitcoin

Trước hết xin giới thiệu sơ lược về loại Trojan này.
"Distributed computing Experment" là một trong những trojan được tạo ra để phục vụ cho mục đích đào bitcoin của kẻ xấu, tương tự như RiskTool.Win32.BitCoinMiner.
Để biết máy bạn có nhiễm Trojan này hay không, bạn chỉ cần truy cập vào Control Panel --> Add or Remove Programs và tìm sẽ thấy có một ứng dụng có tên là "Distributed computing experiment", và bạn không thể Uninstall ứng dụng này được. Ghê không? Kể từ giờ máy bạn sẽ được tham gia vào một nhóm "những kẻ đào bitcoin điên cuồng nhé" :)) Thường thì khi phát tán Trojan này, kẻ xấu đưa máy bạn tham gia vào một mạng botnet đào bitcoin nhằm mục đích trục lợi (có thể hoặc không, máy bạn sẽ bị vắt kiệt sức để tham gia hoạt động này do công việc đào bitcoin cực kì tiêu tốn tài nguyên của máy)
Đùa thôi. Giờ ta phải tìm cách Remove nó thôi nhỉ? Bạn làm theo các bước sau:
1. Mở Task Manager  và tìm đến ứng dụng có tên dce.exe và End process nó nhé.
2. Truy cập vào C:\Program Files\, tìm và xóa thư mục có tên là DCE.
3. Bạn vào Run, gõ regedit để truy cập Windows Registry
4. Trong Windows Registry bạn tìm tới khóa sau:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\currentversion\Uninstall
5. Trong HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\currentversion\Uninstall, hãy tìm tới khóa có tên là Disturbed Computing Experiment và xóa nó đi.


6. Giờ bạn quay lại Control Panel --> Add or Remove Programs và Remove ứng dụng Distributed computing experiment" đi là được.
7. Hãy dùng một chương trình quét virus để quét lại máy cho chắc nhé.
Tham khảo thêm tại: http://deletemalware.blogspot.com/2014/01/remove-distributed-computing-experiment.html

11 tháng 4, 2014

Cách sửa lỗi HeartBleed trên ubuntu 12.04 LTS

Ở đây tôi chỉ hướng dẫn các bạn fix lỗi này trên hệ điều hành Ubuntu 12.04 LTS server mà không gây ảnh hưởng tới các dịch vụ đang chạy (các hệ điều hành khác cũng tương tự, bạn nào cần biết thêm thì liên hệ tôi theo email dalmate@live.com tôi sẽ hướng dẫn thêm)
Trước hết bạn cần kiểm tra xem server của bạn có bị dính lỗi này hay không tại địa chỉ này:
http://filippo.io/Heartbleed
Nếu server của bạn bị nhiễm thì lần lượt làm theo các bước sau;
Kiểm tra lại xem server có còn bị lỗi hay không tại địa chỉ ở trên.
Lưu ý: các bước này đã được xác thực là không gây ảnh hưởng tới các dịch vụ đang chạy nhé.

11 tháng 3, 2014

HA trên Ubuntu 12.04 với DRBD

Lưu ý, hiện tại trên bản Ubuntu 12.04 nếu bạn cài bản DRBD đi kèm trên kho của Ubuntu thì có khả năng là bạn sẽ không thể chạy được dịch vụ này. Vì vậy, bạn nên cài từ kho của DRBD là tốt nhất.
Kho của DRDB tại đây: http://oss.linbit.com/drbd
Sau đó bạn làm theo các bước hướng dẫn dưới đây
1 - Cấu hình cho máy chủ
- Sử dụng 2 máy chủ, chạy hệ điều hành như nhau (Ubuntu 12.04 LTS 64 bit)
- Chuẩn bị ổ lưu trữ trên 2 máy chủ như sau:
 ----------------
dev/sda1 * (Boot Flag on) ext3 mounted on / 12G
Swap 4G
/dev/sda3 Extended
/dev/sda5 No file system & not mounted 63.9G (for DRBD data disk)

 -------------------
- Cấu hình tập tin /etc/hosts của 2 máy chủ như sau:
 -------------------
/etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.0.134 mail.domain.com mail
192.168.0.162 mailbk.domain.com mailbk

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
 -------------------------------------
- Cấu hình tập tin /etc/hostname của 2 máy chủ như sau:
Máy chủ 1:
mail
Máy chủ 2:
mailbk
2 - Cài đặt BRDB:
- Cài các gói thư viện cần thiết:
-----------------
apt-get install flex build-essential linux-headers-`uname -r`
--------------------------
- Cài DRBD từ nguồn như sau :
---------------
wget http://oss.linbit.com/drbd/8.2/drbd-8.2.7.tar.gz
tar –xzvf drbd-8.2.7.tar.gz

cd drbd-8.2.7
make all && make make install
----------------------
- Lưu ý, nếu cài từ nguồn thì thư mục cài mặc định của DRBD sẽ ở đây:
----------------------
usr/local/
/usr/local/etc
/usr/local/etc/init.d
 ---------------------
- Vì vậy hãy chạy lệnh tiếp theo để DRBD khởi động khi máy khởi động:
 ---------------------------
ln -s /usr/local/etc/init.d/drbd -s /etc/init.d/drbd
update-rc.d drbd defaults 70
modprobe drbd
--------------------
3 - Cấu hình cho DRBD
- Sửa lại tập tin cấu hình DRBD như sau:

-------------------------------
# You can find an example in  /usr/share/doc/drbd.../drbd.conf.example

#include "drbd.d/global_common.conf";
#include "drbd.d/*.res";

global { usage-count no; }
resource r0 {
        protocol C;
        startup {
                wfc-timeout 15;
                degr-wfc-timeout 60;
        }
        net {
                cram-hmac-alg sha1;
                shared-secret "secret";
        }
        syncer {
              rate 110M;
              # group 1;
              al-extents 257;
        }
        on mail {
                device /dev/drbd0;
                disk /dev/sda5;
                address 192.168.0.134:7788;
                meta-disk internal;
        }
        on mailbk {
                device /dev/drbd0;
                disk /dev/sda5;
                address 192.168.0.162:7788;
                meta-disk internal;
        }
}

----------------------------




4 - Chuẩn bị ổ đĩa cho DRBD:
- Trên cả 2 máy chủ hãy chạy lênh:
drbdadm create-md r0
/etc/init.d/drbd restart
- Nếu mọi việc đều ổn thì khi chạy lệnh: cat /proc/drbd sẽ có output như sau:
version: 8.4.3 (api:1/proto:86-101)
srcversion: 5CF35A4122BF8D21CC12AE2
 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r---n-
    ns:2644932 nr:0 dw:154064 dr:2495677 al:745 bm:160 lo:0 pe:3 ua:15 ap:3 ep:1 wo:f oos:2007064836
        [>....................] sync'ed:  0.2% (1960024/1962592)Mfinish: 49:36:04 speed: 11,232 (11,344) K/sec
- Từ máy chủ chính, chạy lệnh:
drbdadm -- --overwrite-data-of-peer primary r0
mkfs –t ext3 /dev/drbd0
mount –t ext3 /dev/drbd0 /opt

- Để tiến trình chạy cho tới khi nó hoàn thành.

=============================================
Tham khảo thêm tại:
http://helpmelinux.blogspot.com/2009/08/zimbradrbdheartbeat-hi-availability.html
http://rdstash.blogspot.com/2012/11/high-availability-storage-using-drbd.html

04 tháng 3, 2014

Một số kiến thức về games online

Bài này tôi vô tình lượm lặt được từ trang http://vietgamedev.net.
Tôi mạn phép sao chép và lưu lại ở đây.
Bạn nào muốn biết thêm có thể truy cập địa chỉ bài viết gốc tại đây.

Đã làm game thì chắc chắn các bạn cũng đã từng chơi qua khá nhiều games, trong đó không ít dạng game là game trực tuyến, chơi được với nhiều người. Sau đây là 1 bài viết khá hay về mô hình Client - Server của game online mình sưu tầm được từ I4VN.com. 

Không biết rằng các bạn game thủ đang chơi có khi nào thắc mắc một game online nó vận hành như thế nào không?
Loạt bài viết về kiến thức game online (MMO) sẽ cho bạn hiểu rõ hơn về thế giới MMO và cũng mong muốn mang đến cho các bạn những phút thư giãn nhưng bổ ích. Bạn sẽ không phải bỏ công tìm hiểu những điều này và cũng muốn nói trước rằng đây chỉ là sự hiểu biết cá nhân tôi (kingbinhminh) do đó chắc chắn không tránh khỏi thiếu sót cũng như có thể sẽ sai lệch đi chút ít. Mong rằng các bạn sẽ lượng thứ và góp ý cho.


Một máy chủ kiểu mẫu

Nguồn: I4VN.com

Kiến thức MMO phần 1: Server và Client
Để một MMO có thể vận hành được không phải giống như các Game PC là chạy ngay game. Các game còn cần phải thiết lập đồng bộ giữa server và client game (tất cả các file bạn down về máy để chạy game), có thể bạn nghĩ rằng client quan trọng vì nó chứa tất cả các file để chạy game nhưng thực tế server quan trọng hơn rất nhiều với 1 MMO.

Server MMO

Sẽ không bao giờ game có thể thành MMO nếu không có server, bạn có thể chơi chung với người khác qua nhiều cách mà cách thông dụng nhất hiện nay là mạng Lan ảo cho phép các game thủ kết nối với nhau qua mạng. Để thành game online đúng nghĩa thì đó phải là một server được đặt đâu đó do nhà phát hành vận hành và cho tất cả các game thủ kết nối vào chứ không phải như Lan ảo là server sẽ được dựng từ một trong các máy của game thủ đảm trách.

Server MMO ngày nay xử lý tất cả các hành động trong game cho dù nó là việc làm nhỏ nhất cũng phải thông qua server chứ không còn giao cho client xử lý nữa. Bởi nếu để cho client xử lý thì chắc chắn rằng sẽ bị khai thác (nghĩa là bị Hhck), do đó quy trình làm việc của MMO chính là: Server xử lý thông tin —> Client thể hiện —> Hành động của game thủ —> Client chuyển tải thông tin —> Server xử lý thông tin.

Với quy trình làm việc như thế server sẽ đảm nhiệm hoàn toàn việc xử lý thông tin, muốn can thiệp để sửa đổi bạn phải tác động lên server và việc đó gần như bất khả thi nếu server phòng chống tốt. Bạn sẽ cho rằng mình có thể can thiệp vào chỗ truyền tải từ client thông tin lên server là có thể hack. Nghe thì có vẻ đúng là thế nhưng thực tế thì server làm việc rất có logic, bạn phải thỏa mãn điều kiện cần thiết. Ví dụ bạn sửa đổi và gửi thông tin lên server rằng “Tôi có vũ khí hoàng kim”, server cũng sẽ chẳng đáp ứng điều đó bởi bạn còn phải thỏa mãn điều kiện kiểu như: “Bạn từ đâu mà có”, “bạn nói rằng giết boss”, “Server không thấy boss có rơi ra”,…v…v..v…Nói nôm na là bạn đưa thông tin lên mà không đúng, server cũng sẽ chẳng xử lý hay nói chính xác hơn nó không hiểu để xử lý.

Mỗi 1 tầng đều có thể đem làm 1 server nho nhỏ.

Server MMO nó như thế nào? Chắc hẳn không ít người muốn biết. Server cũng giống máy tính thông thường mà thôi, nhưng vì chẳng cần thể hiện gì ra màn hình nên bị cắt mất cái card màn hình. Bạn còn nhớ server LineAge II Việt hóa cũng chỉ là một cái máy tính để bàn đủ mạnh mà thôi chứ cũng chẳ ng cần phải server tốn kém gì ghê gớm. Server của các nhà phát hành thì chắc không phải thế, là một hệ thống server được liên kết từ các server. Đó vẫn chưa phải là tất cả những gì liên quan đến server MMO, bởi nó còn được chia làm 2 để xử lý thông tin.

Bạn gửi thông tin lên để server xử lý thì nó sẽ làm việc như thế này: Nhận Thông tin —> Xử lý thông tin —> Trả lại thông tin đã xử lý —> Lưu vào Database.

Cái này đương nhiên không chính xác cho lắm, nhưng ghi vậy để các bạn hiểu việc truyền tải dữ liệu đã xử lý trước rồi mới lưu dữ liệu. Trước tiên ta nói về việc server chia làm 2 là do một đảm trách nhiệm vụ xử lý các thông tin và gửi trả lại, còn cái kia sẽ là nơi xử lý database. Vì database là nơi chứa thông tin của người chơi nên chỉ cần truy xuất, sửa đổi khi có thay đổi. Chẳng hạn như nhân vật này cấp bao nhiêu và có được những item gì…v..v…v…Còn thông tin về quái này nọ trong game không có lưu trong phần database. Nó sẽ được load lên mỗi khi bắt đầu mở server, các thông số này sẽ làm cơ sở để server tính toán mọi thứ trong game.

Quay lại việc tại sao trả thông tin rồi mới lưu vào database, vì để người chơi được xuyên suốt không phải ngừng làm cái việc truy xuất database. Nhưng cũng vì điều này mà nó xảy ra một vấn đề là dupe đồ mỗi khi server lag, tại sao lại thế? Cơ chế nó thế này, vì khi xảy ra lag là việc xử lý không được xuyên suốt, trong một số trường hợp đó sẽ bị rollback. Bởi server xử lý bị nghẽn thông tin phải load lại thông tin của nhân vật, trong quá trình đó bạn sẽ có vài giây hay nhiều hơn để kịp chuyển đồ (dữ liệu) sang một nơi khác. Sau đó bạn sẽ thấy mình lại có được đầy đủ trước khi chuyển, cứ thể mà làm cho đến khi bạn thỏa mãn. Tuy nhiên với các server ngày nay mạnh mẽ hơn trước rất nhiều nên việc server lag rất ít xảy ra.

Những gì hình thành server MMO? Server MMO cũng chỉ như client là tập hợp của nhiều file lại với nhau. Khác với Client chủ yếu thể hiện bằng hình ảnh, thì server là những file text chứa đựng những thiết lập mà khi chạy server các file hệ thống sẽ load nó. Cần chỉnh sửa gì như tỉ lệ rớt item, kinh nghiệm khi đánh quái…v…v…v…chỉ cần sửa lại trong các file này sau đó load lên lại là mọi thứ sẽ thấy khác ngay. Ngay cả việc thời gian hồi skill cũng có quy định trong này, có một số game vì ỷ y mà đưa cho client tự tính thời gian hồi skill nên đã bị hack một cách thê thảm bằng việc đánh skill không deplay. Một Server hoàn hảo là phải tự tính toán hết mọi việc, client chỉ thể hiện không hơn không kém tí nào.

Thông thường sẽ có 3 file xử lý chính: Một là center server gần như xử lý tất cả trừ công việc của 2 file kia. Map server là file load hết các map cũng như phân chia map để xử lý. Character server quá dễ để nhận ra file này khi chuyên xử lý những gì liên quan đến nhân vật. Điều thú vị là một khi tắt Map server thì game thủ chơi bằng client sẽ bị văng hết ra ngoài, nhưng Bot thì không…nên muốn quét sạch một mẻ bot thì chỉ cần tắt đi sau đó ghi nhận lại ai còn trong game mà thẳng tay chém không cần suy nghĩ.

Như những gì đã nói, server đảm nhận hết nên việc update cũng thế không phải cứ tải bản update về máy là bạn đã chơi được bản update. Cái đó còn phải chờ nhà phát hành chỉnh lại server cho các thông số nó khớp với client, nếu không mọi thứ sẽ trở nên vô nghĩa. Bạn có trong tay bản client mới nhất nhưng lại vẫn chơi với các tính năng cũ.

Đó là những thông tin về server, tôi chỉ nói thêm một ít trường hợp để các bạn phòng tránh tốt hơn là đừng nên làm theo. Trước tiên là hack speed, cái này đơn giản chỉ là tăng tốc trao đổi dữ liệu qua lại giữa server và client nên có rất nhiều chương trình có thể giúp đỡ chẳng cần phải là chương trình chuyên dùng cho game. Tuy nhiên tôi khuyên bạn đừng làm thế bởi các server đều có chống hack speed bạn sẽ bị đá văng game sau đó vài giây hoặc có game còn ác hơn với việc thiết lập auto ban cho việc server bị ép trao đổi dữ liệu với tốc độ cao. Việc đánh lừa server bằng gói dữ liệu mà bạn ngụy tạo cũng đừng nên làm tốn thời gian vô ích.

Client MMO

Cấu tạo cơ bản của client thì đa số là các file hình ảnh được giấu vào một file thường có tên gọi là Data.dat có vài chương trình đặc thù cho phép bạn tách một số file từ trong file này. Mục đích không phải để hack mà là để chỉnh sửa cho hợp ý họ, chẳng hạn như một số giao diện trong game không đẹp họ chế ra những giao diện màu sắc đẹp đẽ hơn nhưng vẫn giữ đúng kích thước giao diện. Có game tách sẵn cho game thủ làm cho dễ dàng nhưng không phải game nào cũng ưu ái đến thế, bởi họ không muốn chúng ta nghịch lung tung.

Có hình ảnh thì sẽ có file âm thanh, các file này cũng được giấu nhưng có một số game thì mở ra phần nhạc nền các map của game. Sở dĩ họ làm vậy là để cho các game thủ tự đưa nhạc mình thích vào để không nghe hoài một âm thanh chưa chắc gì là hay mấy. Cũng có game cho phép game thủ đưa nhạc riêng vào mà không cần thay đổi gì cả, nhắc đến việc này mới nhớ game Hiệp Khách Giang Hồ là game cho phép làm điều này một cách tự do.

Hầu hết trong client game đều có một file mà chúng ta nên quan tâm đó là file Config bạn có thể dùng word mở lên xem bên trong có gì. File này chứa hầu hết các khả năng chỉnh sửa trong game như góc nhìn, khoảng cách…v…v…v…Một số game 2D bạn không phóng xa hơn được vì do góc nhìn bị hạn chế bạn chỉ cần chỉnh số to hơn là có thể nhìn từ góc trên trời xuống. Một số game vì ý đồ cho một số class đánh xa vượt tầm nhìn thông thường nên giấu luôn không cho bạn chỉnh, nhưng nếu mày mò chỉnh được thì bạn cũng sẽ có một lợi thế rất lớn trong việc PK.

Ngày trước các game thường mắc một số sai lầm chính là cho client tự xử lý một số vấn đề trong đó thường là vấn đề thời gian hồi máu, skill. Do đó game thủ chỉ cần dùng chương trình thông dụng là đã có thể chỉnh như ý làm cho game bị hack không thể đỡ nổi. Trong vấn đề thể hiện thì game Đột Kích cũng rơi vào thảm cảnh khi file để làm đối phương tàng hình lại nằm bên ngoài server khiến gamer dễ tìm ra và xử lý.


Một game online RPG

Nguồn: I4VN.com


Kiến Thức MMO Phần 2: Server Webgame

Trên cơ bản, server Webgame không có gì khác với game client bởi mọi thứ cũng được xây dựng như nhau là: Hệ thống server, cơ sở dữ liệu (database)…v…v…v…Tuy nhiên webgame thì không cần phải làm đồng bộ giữa server và client vì hầu như mọi thứ sẽ được server xử lý hết bao gồm cả hình ảnh. Bạn sẽ nghĩ trình duyệt sẽ thay thế client? Nhưng bạn có nghĩ là trình duyệt làm gì có hình ảnh của game để mà hiển thị, do đó giống như chúng ta lướt web thì trình duyệt sẽ tải hết những gì cần thể hiện từ server về. Nói là nói thế chứ webgame có cách để trị tình trạng này bởi cứ mỗi lần vào mà phải load lại từ đầu thì nguy to.

Không khác gì quá trình vận hành MMO có client thì ở webgame mọi thứ đều được server xử lý sau đó mới đưa thông tin về các trình duyệt hiển thị lên cho game thủ thấy tại màn hình. Bạn có nhận ra gì bất thường không? Đó chính là dung lượng mà server phải truyền tải, chẳng lẻ phải trao đổi liên tục thông tin hình ảnh này nọ thì băng thông của server làm sao mà chịu nổi. Chẳng hạn lấy 1 webgame thời kì đầu chính là NeoPet thì việc bạn load liên tục và thời điểm đó mạng internet Việt Nam đúng là rất chậm vì vẫn còn xài dial-up, đương nhiên là load rất lâu. Sau này nền tảng flash ra đời việc chơi game chỉ phải load một lần cho đến khi ta tắt nó đi, nhưng nền tảng này cũng không phải là tốt nhất cho game bởi chẳng phải vô cớ mà Apple không chịu “chơi” với flash là vì nó nặng nề. Do đó đa số các webgame hiện nay xây dựng trên nền tảng Java. Vì sao dùng nền tảng này thì lý do là webgame có thể chơi trên bất kì thể loại nào có kết nối internet: Laptop, điện thoại, máy tính bản…v…v…v…và mỗi cái thì là một hệ điều hành khác nhau, nhưng với Java thì có thể bê nguyên từ PC sang điện thoại dễ dàng.

Để giảm tải việc truyền dữ liệu nhất là những hình ảnh luôn dùng lặp đi lặp lại, do đó webgame đòi hỏi mình phải tải một phần của game vào lúc ban đầu. Phần này sẽ không mất đi mỗi khi bạn tắt trình duyệt mà nó lưu vào trình duyệt mà nói ngắn gọn là Cookies, để chúng ta không tốn thời gian vô ích. Tuy nhiên, do vấn đề bảo mật hoặc làm nhẹ máy chẳng hạn như bạn chơi ngoài tiệm game thì hiện nay đa số đều “đóng băng” ổ C – nói dễ hiểu là phong tỏa ổ C và mỗi khi reset máy lại là ổ C sẽ quay lại trạng thái như cũ. Nghĩa là bạn ra tiệm chơi thấy máy mở sẵn thì hãy reset máy cho chắc ăn và bạn vào webgame sẽ lại chờ load. Bởi vậy đừng thắc mắc là có lúc vào nhanh có lúc vào chậm, vào chậm là do bạn mất Cookies vì lý do gì đó, máy bạn tự xóa, hay server yêu cầu load lại…v…v…v…

Một số webgame cho bạn thay đổi 1 tí hình ảnh trong game bằng việc sửa đổi hình ảnh hiển thị, đương nhiên là can thiệp vào Cookies. Thật ra cũng không hẳn là vậy, bởi có webgame yêu cầu chúng ta nếu muốn load game nhanh thì hãy lưu phần hình ảnh game vào nơi nào đó. Travian chắc ai yêu thích webgame cũng đã từng chơi qua, game có cho làm việc này nên hình ảnh load cực lẹ.

Trình duyệt

Không phải chỉ có một mà có rất nhiều trìn h duyệt khác nhau và bạn lướt web cũng đã được các trang web thông báo là xem bằng Chrome, Firefox, IE là tốt nhất…v…v…v…Webgame cũng thế thôi nhưng do sử dụng Java nên ít có game khuyến cáo điều này. Việc sử dụng trình duyệt nào tốt nhất thì bạn hãy dùng theo ý thích của mình. 2 trình duyệt khá tốt hiện nay là Chrome và FireFox, FireFox chiếm Ram nhiều hơn nhưng thường được hỗ trợ tốt hơn.


Một ứng dụng Auto (Bot)

Nguồn: I4VN.com


Kiến Thức MMO Phần 3: Auto và Bot

Auto và bot là điều không còn xa lạ gì đối với các game thủ Việt Nam, nhưng không biết rằng bạn có biết nó được cấu tạo thế nào? và câu chuyện của nó tại Làng MMO Việt Nam.

Packet

Trước khi nói về auto và bot thì chúng ta hãy nói về Packet một chút để hiểu rõ cách hoạt động của auto và bot. Không cần hiểu quá sâu vào nó mà chúng ta hãy hiểu đơn giản nó là một gói dữ liệu đường truyền qua lại giữa client và server. Tại sao phải là một gói dữ liệu? Bởi chỉ những thông tin đơn lẻ thì không thể xử lý được, giống như ra một mệnh lệnh đi về phía trước nhưng muốn client và server hiểu thì thông tin phải trao đổi kiểu như: Mệnh lệnh Đi (hay chạy) + vị trí trên map.

Máy móc xử lý khác chúng ta không phải kiểu chúng ta nói đi về trước mấy bước mà phải theo trình tự phía trên. Vì thế gói dữ liệu này sẽ càng nhiều hơn khi mệnh lệnh phức tạp hơn chẳng hạn như đánh skill:Mệnh lệnh sử dụng skill + Skill gì + Tọa độ + Hiệu ứng + Mục tiêu.

Bạn có hỏi là tại sao phải có hiệu ứng không? Đó là server phải gửi thông tin này đến client để thể hiện hình ảnh của skill nó như thế nào, chẳng hạn như đánh lửa thì có hiệu ứng cháy lửa bừng bừng trên mặt đất. Tôi có thể can thiệp vào phần này nên hiệu ứng muốn sửa đổi thế nào cũng được, chẳng hạn như một buff nào đó tôi sửa thành một buff tăng tốc độ chạy. Nhìn thấy nhân vật chạy đúng kiểu có buff tăng tốc nhưng sẽ luôn bị khựng lại lý do rất đơn giản. Vì mặc dù client thể hiện như thế nhưng trên server vẫn ghi nhận tốc độ cũ, nên khi vừa đến điểm chỉ định nó sẽ khựng lại hay giựt lùi lại để khớp với server. Tóm lại bạn có thể thay đổi nhiều thứ trong một gói dữ liệu (packet) nhưng cũng chỉ vô ích vì server nó khác client.

Bạn đang suy nghĩ là nếu mình gửi thông tin lên server thì sao? Như đã nói ở bài trước dù bạn gửi rất giống client hay có thể nói là hoàn toàn thay thế client cũng vô ích. Server nó làm việc rất có logic nghĩa là phải hội đủ mọi yếu tố thì nó mới xác nhận là thật, ví dụ bạn gửi rằng con quái đó đã bị chết, nhưng server ghi nhận làm gì có ai đánh nó mà chết thì cũng vô ích. Bạn muốn server nghe lệnh vô lý của bạn, nếu có xảy ra thì server đó quá dỏm.

Auto

Bạn thường nghe nhà phát hành dùng từ “phần mềm thứ ba” để nói về auto và bot. Theo cách nhà phát hành gọi thì ngoài client, server ra thì bất kì thứ gì khác đều gọi là phần mềm thứ ba. Do đó sẽ có phần mềm được phép xử dụng và có phần mềm bị cấm, auto thường bị cấm nhưng tại Việt Nam thì mọi thứ dường như đã khác. Auto hiện nay không khuyến khích nhưng cũng không hề cấm, đặc biệt là auto tích hợp sẵn trong game thì lại càng không cấm vì nó không phải là phần mềm thứ 3. Bởi theo cách nói nhà phát hành thì đó vẫn chỉ là client được tích hợp chức năng auto.

Như đã nói ở trên thì Packet là thành phần trao đổi thông tin với server, tuy nhiên auto khác bot ở chỗ không thay thế cho client mà vẫn phải dựa vào client mà chạy. Auto cũng có nhiều cách để tạo ra không phải là cần lập trình để nhận Packet rồi Send Packet về cho server. Có nhiều cách để tạo ra Aato từ đơn giản đến phức tạp như:

– Auto Macro đó chính là những chương trình cho phép tự động một phím hay nhiều phím trong một vòng tùy theo ta quy định. Khuyết điểm của loại này chính là không thể chuẩn theo game và đặc biệt bị chiếm quyền sử dụng máy.

– Auto Click chương trình này hoạt động theo điểm trên màn hình nghĩa là Pixel, bạn sẽ quy định tại điểm nào đó trên màn hình và nó sẽ tự click giùm mình. Khuyết điểm cũng là không chuẩn theo game và cũng bị chiếm quyền sử dụng máy.

– Auto theo màu là những auto đơn giản. Nghĩa là làm theo màu sắc, khác với auto click chút xíu là nó ghi nhận theo màu sắc mà làm. Khuyết điểm rất rất không chuẩn theo game một sự thay đổi màu sắc là xem như tiêu luôn, thường chỉ dùng để đo thanh máu và Mana.

– Auto game đây mới đúng nghĩa là auto của game, bởi mọi hành động đều chuẩn xác với game và đặc biệt không chiếm quyền sử dụng. Có nhiều cách để làm chuẩn theo game nhưng hầu hết để đạt mức hoàn hảo đều liên quan đến packet.

Hiện nay chả còn ai dùng mấy thứ như auto click, auto macro bởi chẳng giúp ích gì nhiều. Riêng auto game thì vấn đề hơi phức tạo bởi ít ai rảnh rỗi tung auto cho mình xài và đặc biệt kiếm được auto sử dụng an toàn cũng là vấn đề nan giải. Bởi những chương trình này rất dễ bị cài thêm keyloger (ghi nhận lại những gì trên bàn phím) bạn có thể sẽ bị mất tài khoản. Hiện nay tội phạm mạng đã bị để ý nhưng chỉ những thứ gì dính đến tiền thật, còn trong game chưa có ai xử lý cả ngoài nhà phát hành.

Bot

Đỉnh cao của auto sẽ là gì? Đó chính là Bot. Bot khác rất nhiều với auto, bởi nếu auto có những thứ không làm được thì Bot làm được tất cả mọi chuyện trong game. Có người từng chơi 1 game từ đầu đến max level của game cũng chưa từng 1 lần đăng nhập vào game, kinh điển chưa?! Vì trên cơ bản cứ phân biệt là auto cần chạy song song với client còn bot thì sẽ thay thế client.

Bot vì sao ghê như thế? Server và client truyền dữ liệu qua lại nhưng việc hiển thị của client còn được quy định thêm nữa. Lấy ví dụ như việc lượm đồ mặc dù đồ rớt ra đã được server truyền tin đến, nhưng bạn lại phải đợi đồ rớt xuống đất mới lượm được. Auto có thể bắt tín hiệu từ client mà phát lại liền là tôi đã lượm nên khi bạn dùng auto thì sẽ lượm ngay trên không. Có điều vẫn không bằng bot vì nó nhận tín hiệu thì ngay lập tức và trả lại liền nên bạn sẽ chẳng kịp nhìn là từ trên không chứ đừng nói là thấy dưới đất.

Bot thường rất nhỏ gọn bởi nó cũng giống như server là gồm những file text chứa những thông tin chẳng hạn như: Quái A sẽ là 8024 hay item B là 2211 chẳng hạn. Vì sao là những con số như thế thì như đã nói chúng sẽ được ghép lại với những mệnh lệnh khác như tôi đang đánh Quái A công thức sẽ là “Số mà lệnh đánh + quái A (8024)…v…v…v…rồi nhận được item B là 2211″ chẳng hạn như thế.

Khó khăn khi viết bot là bạn phải am hiểu và có thể nói là một người lập trình có tay nghề, bởi bạn phải ngồi phân tích Packet của game. Sau đó phải giả lập làm sao để bot qua mặt cả server không đơn giản như auto là phần này đã được client xử lý. Bởi vậy ta có thể thấy nhiều auto chứ bot thì khá ít, nhưng auto chạy 2-3 cái thì bot đã có thể chạy đến 10-15 cái. Do không cần mở client mà nên chấp game có nặng cỡ nào thì bot vẫn chỉ là như thế chiếm dụng máy rất ít. Với một máy mạnh, đường truyền tốc độ cao như hiện nay thì mở 100 bot cũng chả phải là vấn đề gì nan giải.

Bot hoàn toàn có thể hack speed hay hack một số thứ khác nhưng thường chẳng ai viết ra mà để làm những chuyện vô bổ như thế. Vì server hoàn toàn có thể chém ngay mà không cần thông qua GM. Trong khi bot đã được chỉnh một cách pro thì chỉ có GM tự tay đi săn lùng thì may ra, còn việc chặn từ bên ngoài…đã hàng ngàn lần cố gắng nhưng đến nay vẫn chưa chặn được. Trừ khi cộng đồng hay ít nhất là tác giả không còn hỗ trợ nữa.

Có ai từng dùng con bot open-kore của Ragnarok chưa nhỉ? Nếu dùng rồi bạn sẽ thấy nó lợi hại đến mức nào và đến nay nó vẫn là nổi ám ảnh của tất cả các server Ragnarok. Nó có thể làm tất cả mọi việc kể cả làm quest, train, săn item, giết boss…v…v…v…chỉ cần bạn chỉnh đúng thì mọi thứ sẽ trong tầm tay.

Nói về bot khủng cũng có thể nhắc đến Võ Lâm Bá Chủ con bot từng làm cho Võ Lâm Truyền Kỳ 1 điên đảo, bởi vì nó hay quá mức nên bị nhà phát hành chém thẳng tay vì nếu không chỉ một thời gian nữa thôi Võ Lâm Truyền Kỳ 1 sẽ lung lay. Điểm khác biệt của bot Võ lâm 1 và open-kore chính là khả năng tự chỉnh. Võ Lâm Bá Chủ mặc dù có thể tự làm rất nhiều việc nhưng phải do người viết chỉnh cho chúng ta, còn open-kore thì mình sẽ tự chỉnh tất cả nếu không tự chỉnh được thì có thể tìm phần đã có người chỉnh sẵn.



Nguồn: I4VN.com