Hướng Dẫn Hack Mật Khẩu Wifi Chuẩn WPA – WPA2

HƯỚNG DẪN CÁCH DÒ TÌM MẬT KHẨU WIFI NHANH VÀ CHÍNH XÁC NHẤT

Bài viết mang tính chất tham khảo, dành cho học tập, nghiên cứu và cho các bạn tìm tòi học hỏi. Chúng tôi không chịu trách nhiệm liên đới nếu các bạn áp dụng để phá hoại nhé..

Bạn đang tìm cách để xài ké mạng hàng xóm?

Bạn đã tìm trên mạng các bài viết về hack mà vẫn chưa có kết quả?

Wifi nhà bạn đạng bị vấn đề, đi xin người khác không cho ?

Bạn rảnh rỗi, muốn ngồi vọc vạch để giết thời gian?

Hãy thử qua bài viết dò tìm mật khẩu, hack mật khẩu wifi, đảm bảo bạn sẽ hài lòng sau khi thực hiện đầy đủ và khám phá cho mình những kiến thức mới.

Video dành cho các bạn lười đọc bài viết !!!

 

Các bước chuẩn bị trước khi bắt đầu :

  • Hệ điều hành kali linux, (có thể sử dụng máy thật hoặc máy ảo đều được).
  • 1 Card Wifi , trong bài viết mình sử dụng card TL_WN727N_V4 của Tp-Link (Bạn có thể kéo xuống cuối bài viết để đặt mua card này một cách nhanh nhất )
  • 1 Bộ từ điển, các bạn có thể lựa chọn các bộ từ điển có sẵn và download

CÓ THỂ BẠN QUAN TÂM:

TỔNG QUAN VỀ KALI LINUX
HƯỚNG DẪN CÀI ĐẶT MÁY ẢO VMWARE
HƯỚNG DẪN CÀI ĐẶT KALI LINUX TRÊN MÁY ẢO VMWARE
HƯỚNG DẪN CÀI ĐẶT VMWARE TOOLS TRÊN KALI

BẮT ĐẦU THÔI: 

Trong bài viết này, mình sẽ sử dụng máy Laptop. Trên máy này mình cài chương trình máy ảo VMware để hướng dẫn cho các bạn. ( Tất nhiên Vmware sẽ chạy HĐH kali linux)

Đầu tiên, để bắt đầu,  bạn cần tìm cho mình một Card Wifi phù hợp, được hỗ trợ để có thể dò sóng wifi của các điểm phát sóng xung quanh, bài viết này mình sử dụng usb Wifi TL_WN727N_V4

Card Wifi TL WN727N V4
TL_WN727N_V4

Nếu ko tìm được card wifi như trên, bạn có thể tham khảo bài viết này để xem thêm các Chipset được kali linux hỗ trợ, nếu bạn đang sở hữu một trong các loại card wifi có trang bị các chipset này thì không việc gì phải xài thêm card rời như mình cả : ^-^

Sau khi đã tìm được card wifi phù hợp, bạn cần cài đặt driver chuẩn cho card wifi này, bằng cách truy cập trực tiếp vào trang web của nhà sản xuất để tải về bản driver mới nhất và cài đặt vào máy.

Để dễ dàng tìm ra drive của card wifi mà bạn đang dùng, chỉ cần lên google seach từ khóa : ” Tên card wifi + dowload driver “.

Hình dưới là máy của mình sau khi đã tải và cài đăt đầy đủ driver cho card wifi .

Driver cho Driver for TL_WN727N_V4
Driver for TL_WN727N_V4

Đảm bảo máy tính của bạn đã nhận đủ driver và bắt sóng wifi tốt, tiếp theo bạn khởi chạy chương trình Vmware lên và chạy Hệ điều hành Kali linux trên máy ảo này.

Sau khi Kali trên máy ảo Vmware đã khởi chạy thành công, bước tiếp theo bạn cần phải kết nối card wifi vào máy ảo để kali nhận diện được thiết bị wifi mà bạn đang sử dụng.

Vì trên máy thật bạn đã cài đầy đủ driver cho card wifi rồi nên máy ảo bạn không cần phải cài lại. Đối với các bạn sử dụng Kali Linux trên máy thật thì nhớ làm thêm thao tác cài đặt driver nhé.

Hình dưới là thao tác kết nối với card wifi trên chương trình Vmware.

Kết nối card wifi với máy ảo Vmware
Kết nối card wifi với máy ảo Vmware

Nếu mọi việc đều ok, bạn có thể chuyển qua bước kế tiếp.

Tại bước này, bạn sẽ tiến hành dò tìm tên card wifi bạn vừa kết nối vào hệ thống mà Kali có thể nhận diện được bằng cách dùng lệnh để kiểm tra.

Chúng ta sẽ mở ứng dụng Terminal trên Kali linux

Mở chương trình Terminal trên kali
Mở chương trình Terminal trên kali

Sử dụng lệnh:  airmon-ng để tìm thông tin card wifi

Lệnh xem tên card wifi mà kali nhận dạng được

Lệnh xem tên card wifi mà kali nhận dạng đượcỞ trên chúng ta tìm thấy tên :  wlan0 la tên của card wifi mà kali đã nhận diện được.

Lưu ý Wlan0 là số 0 chữ không phải chữ o nhé ^_^

Sau khi đã có tên card wifi, chúng ta sẽ bật chế độ monitor cho card này bằng lệnh : airmon-ng start [tên card wifi vừa tìm thấy]

Hình dưới là câu lệnh mà mình sử dụng để bật chế độ monitor cho card wlan0 của mình

Bật chế độ monitor trên card vlan0
Bật chế độ monitor trên card vlan0

Để kiểm tra chế độ monitor đã thực sự được bật chưa ? chúng ta sẽ dùng lệnh :
airmon-ng

Nếu có hậu tố mon đăng sau tên card thì tức là card wifi wlan0 đã được chuyển qua chế độ monitor thành công.

Chế độ monitor đã được bất trên card vlan0
Chế độ monitor đã được bất trên card vlan0

Tiếp theo, với chế độ monitor đang được bật, chúng ta sẽ tiến hành scan để quét các mạng xung quanh, mục đích là để xác định được mạng mà chúng ta cần cần dò mật khẩu bằng lệnh :   airodump-ng [tên card wifi]

Lệnh scan các mạng wifi
Lệnh scan các mạng wifi

Chú ý, việc scan các mạng có thể diễn ra lâu, cho nên nếu chúng ta đã xác định được tên wifi cần dò mật khẩu thì chỉ việc Nhân Ctrl + C để ngừng quá trình scan lại

Sau khi chương trình đã scan xong, bạn sẽ xác định wifi mục tiêu mà chúng ta muốn dò mật khẩu và lưu lại các thông số cần thiết sau :
Tên wifi (ESSID ) :    = ???
BSSID :      = ???
CH (kênh): = ???
Tên Card wifi ở chế độ monitor : wlan0mon

Các thông số cần lưu ý
Các thông số cần lưu ý

Khi đã có các thông số trên, chúng ta tiến hành dò bằng cách sử dụng lệnh:

airodump-ng -c [CH] –bssid [bssid cần dò] -w [Tên của wifi cần dò] [tên vlan đang bật monitor]

Chú ý: đối với tên wifi có dấu cách ở giữa các ký tự thì cần phải để tên wifi nằm trong các dấu nháy đơn ( ‘ ‘ ) ví dụ : ‘ vien thong buon ho

Hình dưới là thông tin mạng mà mình muốn dò pass

Thông tin mạng cần dò mật khẩu
Thông tin mạng cần dò mật khẩu

Và đây là câu lệnh mà mình dùng để scan

Câu lệnh bắt gói tin của người dùng đang kết nối
Câu lệnh bắt gói tin của người dùng đang kết nối

Cần chú ý rằng, sau khi nhấn Enter để Chạy lệnh thì  chúng ta cần ít nhất 1 người đang kết nối vào mạng cần dò mật khẩu đó, vì nếu không có thiết bị nào đang kết nối vào thì chúng ta không thể nào bắt được gói tin để tiến hành giải mã được…

Như hình bên dưới, chúng ta đã nhìn thấy 1 số kết nối có thể sử dụng được, tiến hành lưu lại BSSID  này để sử dụng.

Thông số các user đang kết nối vào mạng này
Thông số các user đang kết nối vào mạng này

Sau khi đã xác định được mục tiêu đang kết nối với mạng wifi cần dò mật khẩu, chúng ta sẽ mở mới thêm 1 cửa sổ ứng dụng Terminal trên kali linux để tiến hành chôm pass từ mục tiêu này, sử dụng lệnh sau:

aireplay-ng -0 30 -a [BSSID] [Tên card wifi]

Tiến hành bắt gói tin và lưu file vào máy tính
Tiến hành bắt gói tin và lưu file vào máy tính

Chú Ý Khi nào ở cửa sổ lệnh số 1 hiện lênh dòng chữ WPA handshake thì Bấm Ctrl + C trên cả 2 cửa sổ để dừng lại, hoặc ngồi chờ đến khi  nó hiện lên thì dừng cả 2 lệnh trên 2 cửa sổ để tiết kiệm thời gian.

WPA handhake hiện ra, bạn đã tóm được một gói tin chuẩn
WPA handhake hiện ra, bạn đã tóm được một gói tin chuẩn

Sau khi chạy lệnh trên, chương trình đã hoàn tất quá trình bắt gói tin và lưu vào hệ thống của chúng ta 1 file với đuôi mở rộng là *.cab . File này mục đích dùng để giải mã vì nó có chứa chuỗi mật khẩu đăng nhập vào wifi  , chúng ta sẽ tiến hành tìm file đã được chương trình tạo ra. Thông thường nó sẽ nằm trong thư mục HOME  và thường có tên là [Tên wifi].cab

Hình dưới là cách truy cập vào thư mục HOME trên HĐH kali linux

Truy cập thư mục HOME
Truy cập thư mục HOME

Kiểm tra file này xem nó có chứa chuỗi mật khẩu không bằng lệnh sau:

aircrack-ng [đường dẫn file *.cab]

Kiểm tra có mật khẩu ẩn trong file vừa tìm được hay không ?
Kiểm tra có mật khẩu ẩn trong file vừa tìm được hay không ?

– Nếu có như hình dưới là ok.

File có chứa chuỗi mật khẩu wifi cần dò được tìm thấy
File có chứa chuỗi mật khẩu wifi cần dò được tìm thấy

Tiếp theo chúng ta sẽ tiến hành dùng thêm 1 file từ điển để dò, file từ điển các bạn có thể tải ở phần mô tả video hoặc tìm và download trên mạng.

Lưu ý, để đưa một file bên ngoài vào trong Kali linux, bạn có thể sử dụng nhiều cách. Có thể là tải vào usb rồi kết nối usb từ máy ảo, tải trên mạng…. Tuy nhiên, thông thường nhất là kéo thả file trực tiếp từ máy chính rồi thả vào máy ảo, muốn thực hiện việc này bạn cần cài Thêm Vmware tool để được hỗ trợ chức năng này, cách tải và cài đặt vmware tool cho HĐH kali bạn có thể tham khảo ở link đầu bài viết  @@.
– Ở đây mình đã chuẩn bị sẵn 1 file từ điển và đặt nó chung với thư mục chứa file *.cab cho dễ thao tác…

Chuẩn bị đầy đủ 2 file từ điển và file vừa bắt được
Chuẩn bị đầy đủ 2 file từ điển và file vừa bắt được

– Bây giờ mọi việc đã gần hoàn tất, việc chúng ta cần làm bây giờ sẽ là dùng lệnh để dò mật khẩu từ 2 file mà chúng ta vừa tạo được , cú pháp lệnh như sau:
aircrack-ng -a 2 -w [file từ điển] [file *.cab]

Lệnh so sánh giữa file từ điển và file chứa dãy mật khẩu đã bắt được
Lệnh so sánh giữa file từ điển và file chứa dãy mật khẩu đã bắt được

Chú ý, chương trình sẽ giãi mã, sau đó nó so sánh chuỗi mật khẩu có trong file *.cab mà ta tìm được với file từ điển, nếu tìm thấy thì chương trình sẽ hiện mật khẩu lên màn hình cho chúng ta biết. Hiện nay, có rất nhiều bộ từ điển được phân chia ra làm nhiều lĩnh vực, có cả từ điển của Việt Nam luôn. Bản thân mình đã từng dowload bộ từ điển hơn 40GB về để dò , thời gian dò có thể nhanh hoặc chậm tùy vào độ khó của mật khẩu và khả năng xuất hiện của mật khẩu có trong file từ điển…
– Hình bên dưới là kết quả sau khi Chương trình đã tìm ra mật khẩu của wifi này

Kết quả thực hiện chương trình
Kết quả thực hiện chương trình

Qua các bước trên, với việc bắt được một gói tin đang kết nối giữa modem và các thiết bị trong mạng đó, cộng với file từ điển mà mình sử dụng, việc dò ra mật khẩu là rất nhanh chóng và chính xác.

Tiến hành dùng điện thoại hoặc dùng máy tính để đăng nhập với password mà chương trình đã tìm thấy.

Nếu bạn muốn dùng Kali để đăng nhập vào mạng wifi này thì bạn chỉ cần tắt chế độ monitor trên card wifi và tiến hành đăng nhập là được, sử dụng lệnh bên dưới để tắt chế độ monitor cho card wifi:  airmon-ng stop [ten card wifi]

Sau khi đã tắt chế độ monitor trên card, chúng ta sẽ tiến hành đăng nhập bình thường…

Chúc bạn thành công…

Mọi ý kiến đóng góp hoặc link nào bị hư hỏng, bạn có thể vui lòng comment bên dưới để mình fix lại nhé…

 

BẠN CÓ THỂ ĐẶT MUA THIẾT BỊ TẠI LINK BÊN DƯỚI, NHANH CHÓNG VÀ HIỆU QUẢ

 

Nguồn: Vienthongbuonho.net

 

HƯỚNG DẪN HACK PASSWORD WIFI WPA/WPA2 TRÊN KALI LINUX

Trong các cách hack pass wifi thì dò pass là cách đơn giản nhất và có thể nói là hên xui ,nếu pass wifi thông thường không phải là 1->9 bạn có thể sử dụng thư viện pass để dò , thư viện pass càng lớn thì tỷ  lệ pass wifi có trong thư viện càng  tăng .
cách hack pass wifi  dựa trên nguyên tắc
khi người dùng (victim) sử dụng wifi ( duyệt web , vào mạng)  thì sẽ truyền dữ liệu vào thiết bị phát wifi và lúc này ta ( người hack pass wifi) cũng sẽ nhận đc gói tin – sau đó giả mạo gói tin và lấy pass .
Các Bước Làm :
-sử dụng  hệ điều hành kali linux  để boot live usb cũng ok

B1 : Đầu tiên ,bạn vào terminal gõ lệnh “iwconfig”   để xác định card wifi của bạn ,ở đây là wlan0
  B2  : khởi động Gõ lệnh “airmon-ng start wlan0”  để chạy tính năng monitor trên wlan0 .
B3 Gõ lệnh “airodump-ng mon0” để xem các AP(thiết bị wifi) đang hoạt động gần bạn và thông số của chúng .
Ta thu các thông số có nghĩa như sau :
 
BSSID : MAC Address của AP
PWR : Cường độ tín hiệu .
Beacons : Số frame tín hiệu nhận được ,cường độ tín hiệu càng mạnh thì số frame của bạn sẽ có tốc độ tăng nhanh.
Data : gói dữ liệu bạn nhận được .
CH : các kênh AP đang hoạt động ,kênh AP nào càng gần bạn thì có chỉ số càng cao .
MB : tốc độ wifi của các chuẩn b g n …
ENC : loại mã hóa WEP ,WPA hoặc WPA2
ESSID : tên mạng wifi.
Ở đây để có thể có tỉ lệ thành công ,các bạn cần có vị trị gần AP càng
tốt ,các bạn nên chọn AP có chỉ số CH cao ,và tốc độ Data nhận được cao
tức là trong AP này chắc chắn đang có Station hoạt động .
Sau khi các bạn xác định được mục tiêu ,các bạn sẽ lấy thông BSSID ,CH
của mục tiêu .
B4 :
Các bạn mở thêm 1 Terminal và gõ lệnh sau  :
airodump-ng
mon0 –bssid “thông số BSSID của mục tiêu”  –channel “thông số CH của mục tiêu”
-w mon
”.
giá trị “-w mon”  .có nghĩa là các gói tin sẽ được lưu trong
file mon-01.cap .
 Ví dụ khi mình gõ lệnh trên lần đầu thì nó sẽ là ra
file mon-01.cap ,nhưng khi mình dừng chạy lệnh và gõ lại 1 lần nữa thì
nó sẽ là mon-02.cap .
Quá trình bắt gói và ghi vào file mon-01.cap
.
B5 :Lúc này khi người sử dụng dùng thiết bị kết nối vào AP (wifi) mục tiêu , và  duyệt 1 trang web trên nó
hay vào mạng internet.
 Lúc này trên máy  kali linux sẽ xuất hiện dòng “WPA handshake :
chỉ khi xuất hiện dòng này ta mới có thể bắt gói tin và bắt đầu dò pass .
B6 : Mở thêm 1 bản Terminal nữa và gõ lệnh sau
“aircrack-ng
mon-01.cap –w rockyou.txt” ,
rockyou.txt là file thư viện mật khẩu  :
.Các bạn có thể download tại :

Rockyou.txt : https://www.dropbox.com/s/reo4vf7e6z3onew/rockyou.txt.bz2Dùng 7-zip để giải nén ( http://www.7-zip.org/download.html )
file có dung lượng là 133,4 MB ,có khoảng 14tr mật khẩu bao gồm mật
khẩu có dạng tiếng Việt ,để có thể dò hết password trong này cần khoảng
hơn 8 tiếng (máy cấu hình dual-core 2.0 ,3GB RAM) .

welcome.txt chắt lọc từ 8 ký tự trở lên  từ file rockyou.txt ở trên (chuẩn pass wifi  ~ 10 tr pass)

 

 Crackstation :
https://crackstation.net/buy-crackstation-wordlist-password-cracking-dictionary.htm
– file thư viện này có dung lượng khá lớn 4GB .Bao gồm 64 triệu mật
khẩu .

 

Sau đó các bạn copy nó vào /root để tiện cho việc thực hiện .
Quá trình dò mật khẩu bắt đầu ,thời gian dò được mật khẩu có độ thành
công hay không là tùy vào thư viện Password ,và thời gian có thể mất khá
lâu .
Dò password thành công .
video

chúc các bạn may mắn nguồn  http://www.kunbum.net/2014/03/huong-dan-cach-hack-wpawpa2-tren-kali.html

How to Setup Rsync with SSH on UNIX / Linux (rsync without password)

Question: When I perform rsync, it asks for my password on the remote server before starting the transfer. I would like to avoid this, and perform rsync without password. Can you explain with an example on how to setup rsync over ssh without password on Linux?

Answer: The following steps explains how to setup rsync over ssh that doesn’t ask for a password. This is helpful when you are scheduling a cron job for automatic backup using rsync.

1. Test rsync over ssh (with password):

Do a rsync to make sure it asks for the password for your account on the remote server, and successfully copies the files to the remote server.

The following example will synchronize the local folder /home/ramesh to the remote folder /backup/ramesh (on 192.168.200.10 server).

We discussed in detail about rsync in our previous 15 rsync examples articles.

This should ask you for the password of your account on the remote server.

rsync -avz -e ssh /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/

2. ssh-keygen generates keys.

Now setup ssh so that it doesn’t ask for password when you perform ssh. Use ssh-keygen on local server to generate public and private keys.

$ ssh-keygen
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Note: When it asks you to enter the passphrase just press enter key, and do not give any password here.

3. ssh-copy-id copies public key to remote host

Use ssh-copy-id, to copy the public key to the remote host.

ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10

Note: The above will ask the password for your account on the remote host, and copy the public key automatically to the appropriate location. If ssh-copy-id doesn’t work for you, use the method we discussed earlier to setup ssh password less login.

4. Perform rsync over ssh without password

Now, you should be able to ssh to remote host without entering the password.

ssh 192.168.200.10

Perform the rsync again, it should not ask you to enter any password this time.

rsync -avz -e ssh /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/

If you want to schedule this rsync backup job automatically, use cron to set it up.

50 dòng lệnh Linux cần biết

  1. Lệnh tar

Tạo tar archive mới.

$ tar cvf archive_name.tar dirname/

Xuất từ tar archive đã có.

$ tar xvf archive_name.tar

Xem tar archive đã có.

$ tar tvf archive_name.tar

2. Lệnh grep

Tìm một string trong file (không phân biệt chữ hoa và chữ thường)

$ grep -i "the" demo_file

In dòng có kết quả trùng khớp, kèm theo 3 dòng dưới đó.

$ grep -A 3 -i "example" demo_text

Tìm kiếm đệ quy string trong tất cả file

$ grep -r "ramesh" *

3. Lệnh find

Tìm file theo tên (không phân biệt chữ hoa và chữ thường)

# find -iname "MyCProgram.c"

Thực thi lệnh lên file tìm được

$ find -iname "MyCProgram.c" -exec md5sum {} \;

Tìm tất cả file rỗng trong thư mục home

# find ~ -empty

4. Lệnh ssh

Login vào remote host

ssh -l jsmith remotehost.example.com

Debug ssh client

ssh -v -l jsmith remotehost.example.com

Hiển thị phiên bản ssh

$ ssh -V

OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003

5. Lệnh sed

Khi bạn copy file DOS vào Unix, bạn có thể tìm \r\n ở cuối mỗi dòng. Ví dụ sau chuyển đổi format file DOS sang format file Unix với lệnh sed.

$sed 's/.$//' filename

In nội dung file theo thứ tự đỏ ngược

$ sed -n '1!G;h;$p' thegeekstuff.txt

Thêm số dòng vào tất cả dòng (không trống) trong file

$ sed '/./=' thegeekstuff.txt | sed 'N; s/\n/ /'

6. Lệnh awk

Loại bỏ dòng trùng lặp với awk

$ awk '!($0 in array) { array[$0]; print }' temp

In tất cả dòng từ /etc/passwd có cùng uid và gid

$awk -F ':' '$3==$4' passwd.txt

Chỉ in trường cụ thể từ file

$ awk '{print $2,$5;}' employee.txt

7. Lệnh vim

Nhảy đến dòng 143 của file

$ vim +143 filename.txt

Nhảy đến kết quả trùng khớp đầu tiên tìm được

$ vim +/search-term filename.txt

Mở file ở chế độ read only

$ vim -R /etc/passwd

  • Lệnh diff

Bỏ qua khoảng trắng khi so sánh

# diff -w name_list.txt name_list_new.txt

2c2,3

< John Doe --- > John M Doe

> Jason Bourne

  • Lệnh sort

Xếp file theo thứ tự tăng dần (ascending)

$ sort names.txt

Xếp file theo thứ tự giảm dần (descending)

$ sort -r names.txt

Xếp file passwd theo trường thứ 3

$ sort -t: -k 3n /etc/passwd | more

10. Lệnh export

Để xem biến môi trường liên quan đến oracle

$ export | grep ORACLE
declare -x ORACLE_BASE="/u01/app/oracle"
declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0"
declare -x ORACLE_SID="med"
declare -x ORACLE_TERM="xterm"

Xuất biến môi trường:

$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0

11. Lệnh xargs

Chép tất cả hình ảnh sang ổ cứng ngoài

# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory

Tìm kiếm tất cả hình ảnh jpg trong hệ thống và lưu trữ vào archive

# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

Tải tất cả URLs được nhắc đến trong file url-list.txt:

# cat url-list.txt | xargs wget –c

12. Lệnh ls

Hiển thị filesize ở dạng đọc được (như KB, MB,…)

$ ls -lh
-rw-r----- 1 ramesh team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz

Order Files Based on Last Modified Time (In Reverse Order) Using ls -ltr

$ ls -ltr

Phân loại File có ký tự đặc biệt bằng ls -F

$ ls -F

13. Lệnh pwd

Lệnh in các thư mục đang làm việc pwd có lẻ đã quá đỗi quen thuộc.

14. Lệnh cd

Dùng cd- để chuyển giữa hai thư mục gần nhất

Dùng shopt -s cdspell để tự động sửa tên thư mục gõ nhầm trên cd

15. Lệnh gzip

Tạo file nén *.gz

$ gzip test.txt

Giải nén file *.gz

$ gzip -d test.txt.gz

Hiển thị tỷ lệ nén của file đã nén bằng gzip -l

$ gzip -l *.gz

Tỷ lệ nén/chưa nén uncompressed_name

23709 97975 75.8% asp-patch-rpms.txt

16. Lệnh bzip2

 

Tạo file nén *.bz2

$ bzip2 test.txt

Giải nén file *.bz2

bzip2 -d test.txt.bz2

17. Lệnh upzip

 

Giải nén file *.zip

$ unzip test.zip

Xem nội dung file *.zip (mà không cần giải nén):

$ unzip -l jasper.zip
Archive: jasper.zip
Length Date Time Name
-------- ---- ---- ----
40995 11-30-98 23:50 META-INF/MANIFEST.MF
32169 08-25-98 21:07 classes_
15964 08-25-98 21:07 classes_names
10542 08-25-98 21:07 classes_ncomp

18. Lệnh shutdown

 

Shutdown hệ thống và tắt nguồn ngay

# shutdown -h now

Shutdown hệ thống sau 10 phút

# shutdown -h +10

Reboot hệ thống bằng lệnh shutdown

# shutdown -r now

Bắt buộc kiểm tra filesystem trong khi reboot

# shutdown -Fr now

19. Lệnh ftp

 

Cả ftp và secure ftp (sftp) đề gồm các lệnh giống nhau, để kết nối đến remote server và tải nhiều file, nhập lệnh

$ ftp IP/hostname
ftp> mget *.html

Để xem tên file nằm trên remote server trước khi download, dùng lệnh mls ftp theo như bên dưới

ftp> mls *.html -
/ftptest/features.html
/ftptest/index.html
/ftptest/othertools.html
/ftptest/samplereport.html
/ftptest/usage.html

20. Lệnh crontab

 

Xem crontab entry cho người dùng cụ thể

# crontab -u john -l

Lên lịch cron job mỗi 10 phút

*/10 * * * * /home/ramesh/check-disk-space

21. Lệnh service

 

Lệnh service được sử dụng để chạy system V init scripts, như: thay vì call scripts nằm trong thư mục /etc/init.d/ bằng đường dẫn hoàn chỉnh, bạn có thể sử dụng lệnh service.

Kiểm tra trạng thái service

# service ssh status

Kiểm tra trạng thái tất cả service

service --status-all

22. Lệnh ps

Lệnh ps được sử dụng để hiển thị thông tin về các process đang chạy trên hệ thống.

Có rất nhiều đối số (argument) có thể chuyển vào lệnh ps, sau đây là một số lệnh cơ bản.

$ ps -ef | more

Để theo dõi các process đang chạy trong cấu trúc cây

$ ps -efH | more

23. Lệnh ps

Lệnh này được sử dụng để hiển thị memory trống/đã sử dụng đang có trong hệ thống.

Output lệnh trống thông thường. Output được hiển thị theo byte.

$ free
total used free shared buffers cached
Mem: 3566408 1580220 1986188 0 203988 902960
-/+ buffers/cache: 473272 3093136
Swap: 4000176 0 4000176

Nếu bạn muốn nhanh chóng kiểm tra số GB RAM của hệ thống, hãy dùng tùy chọn -g. Tùy chọn -b hiển thị byte, -k hiển thị theo kilo byte, -m hiển thị theo mega byte.

$ free -g
total used free shared buffers cached
Mem: 3 1 1 0 0 0
-/+ buffers/cache: 0 2
Swap: 3 0 3

Nếu bạn muốn xem tổng bộ nhớ (kể cả swap), hãy dùng -t switch, cho ra kết quả như dưới

ramesh@ramesh-laptop:~$ free -t
total used free shared buffers cached
Mem: 3566408 1592148 1974260 0 204260 912556
-/+ buffers/cache: 475332 3091076
Swap: 4000176 0 4000176
Total: 7566584 1592148 5974436

24. Lệnh top

Lệnh top hiển thị các process đứng đầu hệ thống (mặc định đánh giá theo mức sử dụng CPU). Để xếp output đứng đầu theo bất cứ cột nào, nhấn O (chữ O) để hiển thị tất cả cột (khả thi) mà bạn có thể sắp xếp được

Current Sort Field: P for window 1:Def

Lựa chọn trường sắp xếp (sort) thông qua ký tự của trường đó, gõ phím bất kỳ để quay lại

a: PID = Process Id v: nDRT = Dirty Pages count
d: UID = User Id y: WCHAN = Sleeping in Function
e: USER = User Name z: Flags = Task Flags
........

Để chỉ hiển thị các process thuộc về user cụ thể, hãy dùng tùy chọn -u. Đoạn lệnh sau sẽ chỉ hiển thị các process đứng đầu thuộc về người dùng oracle

$ top -u oracle

25. Lệnh df

Hiển thị dung lượng do file system sử dụng. Theo mặc định, df -k hiển thị output theo byte.

$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 29530400 3233104 24797232 12% /
/dev/sda2 120367992 50171596 64082060 44% /home

df -h hiển thị output theo dạng dễ đọc, ví dụ như theo GB.

ramesh@ramesh-laptop:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 29G 3.1G 24G 12% /
/dev/sda2 115G 48G 62G 44% /home

Dùng tùy chọn -T để hiển thị kiểu file system

ramesh@ramesh-laptop:~$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 29530400 3233120 24797216 12% /
/dev/sda2 ext4 120367992 50171596 64082060 44% /home

26. Lệnh kill

Dùng lệnh kill để xác định process. Trước hết, dùng lệnh ps -ef để nhận process id, sau đó sử dụng kill -9 để kill các Linux process đang chạy như bên dưới. Bạn cũng có thể dùng killall, xkill để xác định unix process.

$ ps -ef | grep vim
ramesh 7243 7222 9 22:43 pts/2 00:00:00 vim

$ kill -9 7243

27. Lệnh rm

Xác nhận trước khi xóa file

$ rm -i filename.txt

Lệnh này rất hữu ích khi chuyển giao shell metacharacters trong name argument.

In filename và nhận xác nhận trước khi xóa bỏ file.

$ rm -i file*

Ví dụ sau xóa (kiểu đệ quy) tất cả file và thư mục trong thư mục example. Lệnh này xóa chính thư mục example.

$ rm -r example

28. Lệnh cp

Sao chép file1 sang file2 giữ nguyên mode, ownership, và timestamp.

$ cp -p file1 file2

Sao chép file1 và sang file2. Nếu file2 đã tồn tại, cần xác nhận trước khi overwrite

$ cp -i file1 file2

29. Lệnh mv

Đổi tên file1 thành file2. Nếu file2 đã tồn tại, cần xác nhận trước khi overwrite

$ mv -i file1 file2

Lưu ý: mv -f thì ngược lại, overwrite file 2 ngay mà không yêu cầu xác nhận.

mv -v sẽ in tất cả sự kiện trong quá trình rename file, thường rất hữu ích khi chỉ định shell metacharacters trong file name argument.

$ mv -v file1 file2

30. Lệnh cat

Bạn có thể cùng lúc xem nhiều file. Câu lẹnh ví dụ sau sẽ in nội dung của file1 kèm với file2 đến stdout

$ cat file1 file2

Khi hiển thị file, lệnh cat -n sau sẽ thêm số dòng vào trước mỗi dòng output.

$ cat -n /etc/logrotate.conf
1 /var/log/btmp {
2 missingok
3 monthly
4 create 0660 root utmp
5 rotate 1
6 }

31. Lệnh mount

Để mount file system, trước hết bạn nên tạo thư mục và mount như bên dưới

# mkdir /u01

# mount /dev/sdb1 /u01

Bạn cũng có thể thêm đoạn sau vào fstab để mount tự động (như mỗi khi hệ thống khởi động lại, file system sẽ được mount)

/dev/sdb1 /u01 ext2 defaults 0 2

32. Lệnh chmod

Lệnh chmod được dùng để thay đổi permission cho một file hoặc thư mục

Trao truy cập toàn quyền (đọc, việt thực thi) file nhất định cho user và group

$ chmod ug+rwx file.txt

Thu hồi tất cả quyền truy cập file nhất định của group

$ chmod g-rwx file.txt

Áp dụng (đệ quy) permisson cho mọi file trong thư mục con

$ chmod -R ug+rwx file.txt

33. Lệnh chown

Lệnh chown được sử dụng để thay đổi owner và nhóm file.

Để thay đổi onwer sang oracle và group sang db trên file. Như thay đổi cả owner và group cùng lúc

$ chown oracle:dba dbora.sh

Sử dụng -R để thay đổi (đẹ quy) ownership

$ chown -R oracle:dba /home/oracle

34. Lệnh passwd

Thay đổi password từ dòng lệnh bằng passwd. Lệnh này sẽ yêu cầu password cũ, theo sau là password mới.

$ passwd

Super user có thể dùng lệnh passwd để reset các password khác. Lệnh này sẽ không yêu cầu password hiện nay của user

# passwd USERNAME

Xóa password của một user. Root user có thể vô hiệu hóa password cho user đó. Khi password đã được vô hiệu hóa, user có thể login mà không cần nhập password.

# passwd -d USERNAME

35. Lệnh mkdir

Ví dụ sau sẽ tạo thư mục có tên temp ngay trong thư mục home

$ mkdir ~/temp

Tạo thư nhiểu thư mục lồng vào nhau bằng một lệnh mkdir duy nhất. Nếu có bất cứ thư mục nào đã tồn tại, vẫn sẽ không có lỗi. Nếu không tồn tại, máy sẽ tạo mới.

$ mkdir -p dir1/dir2/dir3/dir4/

36. Lệnh ifconfig

Dùng lệnh ifconfig để xem hoặc tinh chỉnh giao diện network trên hệ thống Linux.

Xem tất cả giao diện cùng với trạng thái.

$ ifconfig -a

Bắt đầu hoặc ngưng giao diện nhất định bằng lệnh up và down như dưới đây

$ ifconfig eth0 up

$ ifconfig eth0 down

37. Lệnh uname

Lệnh command hiển thị các thông tin quan trọng về hệ thống như Kernel name, Host name, Kernel release number, Processor type,…

Output mẫu từ laptop Ubuntu được hiển thị dưới đây

$ uname -a
Linux john-laptop 2.6.32-24-generic #41-Ubuntu SMP Thu Aug 19 01:12:52 UTC 2010 i686 GNU/Linux

38. Lệnh whereis

Khi muốn xem liệu một lệnh Unix tồn tại ở đâu, bạn có thể thực thi lệnh sau

$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Khi muốn tìm kiếm executable (thực thi được) từ một đường dẫn chứ không phải từ tùy chọn whereis mặc định, bạn có thể dùng tùy chọn -B và nhập vào đó đường dẫn dưới dạng argument. Lệnh này sẽ tình kiếm (và hiển thị nếu có thể) executable lsmk trong thư mục /tmp

$ whereis -u -B /tmp -f lsmk
lsmk: /tmp/lsmk

39. Lệnh whatis

Lệnh whatis hiển thị description về một lệnh nào đó

$ whatis ls

ls (1) – list directory contents

$ whatis ifconfig

ifconfig (8) – configure a network interface

40. Lệnh locate

Khi sử dụng lệnh command, bạn có thể nhanh chóng tìm kiếm vị trí của một (nhóm) file cụ thể. Lệnh locate sẽ sử dụng database do updatedb tạo ra.

Ví dụ bên dưới cho thấy tất cả file trong hệ thống có chứa từ crontab trong đó.

$ locate crontab
/etc/anacrontab
/etc/crontab
/usr/bin/crontab
/usr/share/doc/cron/examples/crontab2english.pl.gz
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/anacrontab.5.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/vim/vim72/syntax/crontab.vim

41. Lệnh man

Hiển thị man page của một lệnh cụ thể

$ man crontab

Khi man page của một lệnh nằm dưới (nhiều hơn) một section, bạn có thể xem man page cho lệnh đó từ một section cụ thể như bênh dưới

$ man SECTION-NUMBER commandname

8 section có trong man page

  • General commands
  • System calls
  • C library functions
  • Special files (usually devices, those found in /dev) and
  • drivers
  • File formats and conventions
  • Games and screensavers
  • Miscellaneous
  • System administration commands and daemons

Ví dụ như, khi bạn thực hiện whatis crontab, bạn sẽ nhận thấy rằng crontob có hai man page (section 1 và section 5). Để xem section  của crontab man page, hãy làm như sau

$ whatis crontab

crontab (1) – maintain file crontab cho người dùng cá nhân(V3)

crontab (5) – bảng cho driving cron

$ man 5 crontab

42. Ví dụ tail command

Mặc định in 10 dòng cuối của file

$ tail filename.txt

In N dòng của file tên filename.txt

$ tail -n N filename.txt

Xem nội dung của file theo thời gian thực bằng đuôi -f, rất hiệu quả khi xem file log đang mở rộng. Dùng CTRL-C để terminate lệnh này.

$ tail -f log-file

43. Lệnh less

Lệnh less, vì không load cả file, nên rất phù hợp với file log dung lượng lớn.

$ less huge-log-file.log

Khi mở file bằng lệnh less, bạn nên để ý hai tổ hợp phím tiện dụng sau

CTRL+F – forward one window
CTRL+B – backward one window

44. Lệnh su

Chuyển sang một user account khác bằng lệnh su. Người dùng su có thể chuyển đến bất cứ user nào mà không cần nhập password.

$ su - USERNAME

Thực thi một lệnh duy nhất từ một tên tài khoản khác. Trong ví dụ sau, John có thể thực thi lệnh ls dưới tên raj. Sau khi lệnh được thực thi, tài khoản John sẽ mặc định trở lại

[john@dev-server]$ su - raj -c 'ls'

[john@dev-server]$

Login vào user account cụ thể, và thực thi shell tùy ý, thay cho shell mặc định

$ su -s 'SHELLNAME' USERNAME

45. Lệnh mysql

mysql là database nguồn mở được sử dụng phổ biến nhất trên Linux. Để kết nối đếm remote mysql database, dùng lệnh dưới. Lệnh này sẽ yêu cầu password

$ mysql -u root -p -h 192.168.1.2

Để kết nối đến local mysql database

$ mysql -u root -p

Nếu bạn muốn định rõ mysql root password ngay từ trong dòng lệnh, hãy nhập ngay và luôn (không có dấu cách)

46. Lệnh yum

Để cài đặt apache bằng yum

$ yum install httpd

Để cập nhật apache bằng yum

$ yum update httpd

Để uninstall/remove apache bằng yum

$ yum remove httpd

47. Lệnh rpm

Để cài đặt apache bằng rpm

# rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm

Để cập nhật apache bằng rpm

# rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm

Để uninstall/remove apache bằng rpm

# rpm -ev httpd

48. Lệnh ping

Ping remote host chỉ với 5 packet

$ ping -c 5 gmail.com

49. Lệnh date

Cài đặt giờ hệ thống

# date -s "01/31/2010 23:59:53"

Khi đã thay đổi ngày hệ thống, bạn đã có thể đồng bộ hóa hardware clock với system date như dưới

# hwclock –systohc

# hwclock --systohc –utc

50. Lệnh wget

Phương thức tải phần mềm, nhạc và video từ ineternet nhanh gọn và hiện quả với lệnh wget

$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

Tải và lưu trữ dưới tên khác

$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

Techtalk via matebe

Reset MySQL root Password in Linux

You can recover MySQL database server password with following five easy steps.

Step # 1: Stop the MySQL server process.

Step # 2: Start the MySQL (mysqld) server/daemon process with the –skip-grant-tables option so that it will not prompt for password.

Step # 3: Connect to mysql server as the root user.

Step # 4: Setup new mysql root account password i.e. reset mysql password.

Step # 5: Exit and restart the MySQL server.

Here are commands you need to type for each step (login as the root user):

Step # 1 : Stop mysql service

# /etc/init.d/mysql stop

Output:

Stopping MySQL database server: mysqld.

Step # 2: Start to MySQL server w/o password:

# mysqld_safe --skip-grant-tables &amp;

Output:

[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started

Step # 3: Connect to mysql server using mysql client:

# mysql -u root

Output:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql&gt;

Step # 4: Setup new MySQL root user password

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

Step # 5: Stop MySQL Server:

# /etc/init.d/mysql stop

Output:

Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended
[1]+  Done                    mysqld_safe --skip-grant-tables

Step # 6: Start MySQL server and test it

# /etc/init.d/mysql start
# mysql -u root -p