Tìm hiêu về câu lệnh PING

Thảo luận trong 'Khoa Khoa Học Máy Tính' bắt đầu bởi langtulangthang, 25 Tháng sáu 2010.

  1. Offline

    langtulangthang

    • Friends

    Số bài viết:
    125
    Đã được thích:
    47
    Điểm thành tích:
    40
    [IMG]
    Ping là một chương trình cho phép bạn xác định và kiểm tra kết nối từ một thiết bị mạng này đến một thiết bị mạng khác.
    Một ví dụ về Ping
    C:\> ping http://2mit.org
    Pinging http://2mit.org [208.92.223.72] with 32 bytes of data:
    Reply from 208.92.223.72: bytes=32 time<10ms TTL=128
    Reply from 208.92.223.72: bytes=32 time<10ms TTL=128
    Reply from 208.92.223.72: bytes=32 time<10ms TTL=128
    Reply from 208.92.223.72: bytes=32 time<10ms TTL=128
    Ping statistics for 208.92.223.72:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

    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:
    [IMG]
    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?!
    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!
    congthangitvn thích bài này.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí