Tải bản đầy đủ (.doc) (2 trang)

Tìm hiểu về Ping

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (63.67 KB, 2 trang )

Tìm hiểu về "Ping"
trang này đã được đọc lần
Ping là gì?
Ping là một chương trình cho phép bạn xác định một host còn hoạt động(alive) hay không?
Một ví dụ về Ping!
C:\> ping www.aqnet.com
Pinging www.aqnet.com [209.54.218.119] with 32 bytes of
data:
Reply from 209.54.218.119: bytes=32 time<10ms TTL=128
Reply from 209.54.218.119: bytes=32 time<10ms TTL=128
Reply from 209.54.218.119: bytes=32 time<10ms TTL=128
Reply from 209.54.218.119: bytes=32 time<10ms TTL=128
Ping statistics for 209.54.218.119:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\>
www.aqnet.com(209.54.218.119) -> alive!
Nếu bạn nhận được thông báo "Host Alive", điều này có nghĩa là host không còn hoạt động!
Ping hoạt động ra sao?
Ping gởi một ICMP message "echo request" đến host. Nếu nhận được một ICMP message "echo
reply" của host, ping sẽ thông báo host còn hoạt động. Nếu không nhận được ICMP message
"echo reply" của host, ping sẽ thông báo host này đã ngừng hoạt động!
Format của ICMP "echo request" và "echo reply" có dạng như sau:
0 7 8 15 16 31
+-----------------+-----------------+-----------------+
| Type (0 or 8) | Code (0) | 16-bit Checksum |
+-----------------+-----------------+-----------------+
| Indentifier | sequence number |
+-----------------+-----------------+-----------------+
| |


| (Optional Data) |
| |
+-----------------------------------------------------+
Bất cứ lúc nào host nhận được một ICMP request message, nó sẽ phản hồi trở lại với một
identifier và số sequence number. Trong hầu hết các hệ thống Unix, trường indentifier được đặt
số Process ID của tiến trình gởi gói packet đi. Vì vậy, nếu bạn ping cùng một lúc nhiều lần đến
một hệ thống Unix, giá trị indentifier mà bạn nhận được trong mỗi lần ping sẽ khác nhau!
Trường sequence number có giá trị mặc định là 0. Giá trị này sẽ được tăng một sau mỗi lần hệ
thống phản hồi ICMP request message của chương trình ping. Ping sẽ in ra giá trị sequence
number của mỗi lần nhận packet, điều này cho chúng ta biết được các gói packet có gặp lỗi hay
không?!
(Để biết chi tiết về các trường khác, bạn hãy tham khảo các bài viết về giao thức TCP-IP!)
Bây giờ chúng ta hãy xem qua ví dụ cuối cùng:
# ping hackingtruths.box.sk
Pinging hackingtruths.box.sk [194.x.yyy.227] with 32 bytes of
data:
32 bytes from 194.x.yyy.227: icmp_seq=0 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=1 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=2 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=3 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=4 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=5 ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=6 ttl=225 time=0 ms
...
Ở dòng đầu tiên, ping phân tích hostname ra địa chỉ ip. Bạn có nhận thấy giá trị icmp_seq tăng
dần từ 0 sau mỗi lần ping nhận được ICMP message "echo reply" từ host không? Như vậy là các
gói packet mà chúng ta nhận điều không gặp lỗi gì hết! Ping còn cho chúng ta biết thời gian
TTL(Time To Live) nữa! Ping lưu thời gian mỗi lần gởi ICMP message "echo request". Khi nhận
được ICMP message "echo reply" từ host, Ping sẽ lấy thời gian hiện tại trừ đi giá trị này sẽ ra
TTL!

Okay, bây giờ thì bạn biết Ping làm việc như thế nào rồi đó!

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×