Ping là gì và nó hoạt động như thế nào?
Ping (Packet InterNet Groper) là một chương trình dòng lệnh dùng để kiểm tra 2 thiết bị trong mạng có thể kết nối với nhau hay không. Ping còn được dùng để đo đường thời gian trễ của gói tin trong mạng. Đa số các hệ điều hành như Linux, Windows đều hỗ trợ lệnh ping.
Ping hoạt động như thế nào?
Lệnh ping hoạt động theo 3 bước đơn giản sau:
- Đầu tiên máy tính của bạn (máy tính A) sẽ gửi gói tin (packet) đến một máy tính khác (máy tính B).
- Sau đó máy tính này (máy tính B) sẽ nhận được gói tin mà máy tính của bạn (máy tính A) đã gửi.
- Máy tính đó (máy tính B) sẽ phản hồi lại gói tin mà máy tính của bạn (máy tính A) đã gửi.
Ví dụ là chúng ta sẽ dùng lệnh ping để ping đến Google.
[code]ping google.com.vn[/code]Mặc định là lệnh ping trong Windows sẽ gửi 4 gói tin (packet) đến Google. Đa số thời gian mà các gói tin chúng ta gửi đi đều mất 71ms. Lưu ý đơn vị thời gian mà lệnh ping sử dụng là mili giây (ms), 1 giây thì bằng 1000 mili giây. Đều này có nghĩa là các gói tin này mất đến 71ms để gửi đến Google và sau đó quay về lại với máy tính của ta. Các gói tin mà chúng ta gửi đi đều có kích thước mặc định là 32 byte. Bạn có thể tăng kích thước của gói tin bằng cách sử dụng tham số -l:
[code]ping -l kich_thuoc_byte tentrangweb.com[/code]Việc có mất nhiều thời gian để các gói tin có thể trở về hay không còn tuỳ thuộc vào kết nối mạng của bạn.
Như đã nói ở trên thì lệnh ping mặc định chỉ gửi 4 gói tin nhưng bạn có thể chỉ định cho lệnh ping gửi bao nhiêu gói tin mà bạn muốn bằng cách sử dụng tham số -n.
[code]ping -n so_goi_tin tentrangweb.com[/code] Đối với tham số -n thì bạn cần phải chỉ định là gửi bao nhiêu gói tin nhưng nếu bạn dùng tham số -t thì lệnh ping sẽ gửi gói tin đến vô tận và đến khi nào bạn nhấn Ctrl + C thì lệnh ping mới kết thúc. [code]ping -t tentrangweb.com[/code]Ping gửi gói tin bằng cách sử dụng giao thức ICMP
Khi chúng ta sử dụng lệnh ping thì lúc này lệnh ping sẽ gửi gói tin đi qua giao thức ICMP (Internet Control Message Protocol). ICMP là một giao thức dùng để kiểm tra xem 2 máy tính trong mạng có thể giao tiếp với nhau không. Các gói tin ICMP sẽ gửi yêu cầu "echo" đến máy tính khác. Và nếu như máy tính đó nhận được gói tin mà ta gửi thì sẽ phản hồi lại. Tuy nhiên, cũng có một số máy tính và máy chủ được thiết lập là sẽ không phản hồi lại đối với gói tin ICMP. Và tất nhiên kết quả mà bạn sẽ nhận được Request timed out
Việc làm như vậy là để tránh các cuộc tấn công từ chối dịch vụ (DDoS). Thay vì bạn dùng lệnh ping để gửi gói tin đến một máy tính khác thì bạn cũng có thể gửi gói tin đó đến chính máy tính của mình bằng cách sử dụng lệnh:
[code]ping localhost[/code]hoặc
[code]ping 127.0.0.1[/code]Và các gói tin mà bạn gửi đi và quay về đều mất khoảng thời gian là nhỏ hơn 1ms. Sở dĩ thời gian ngắn đến như vậy là máy tính của bạn tự gói tin đi và sau đó tự trả lời lại nên mất rất ít thời gian. Thường thì ta làm như vậy là để kiểm tra xem ngăn xếp TCP/IP của máy tính của mình có hoạt động tốt không.
awesome!!
ReplyDelete