intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tìm hiểu về Traceroute

Chia sẻ: ™——† Lvlr. DK †——™ »»» V.I.P ««« | Ngày: | Loại File: PDF | Số trang:4

182
lượt xem
49
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Traceroute là gì? Traceroute là một chương trình cho phép bạn xác định được đường đi của các gói packets từ máy bạn đến hệ thống đích trên mạng Internet. Một ví dụ về Traceroute! Traceroute có thể làm được gì? Bạn hãy xem ví dụ sau sẽ rõ! windowstracert 203.94.12.54 Tracing route to 203.94.12.54 over a maximum of 30 hops 1 abc.netzero.com (232.61.41.251) 2 ms 1 ms 1 ms 2 xyz.Netzero.com (232.61.41.0) 5 ms 5 ms 5 ms 3 232.61.41.10 (232.61.41.251) 9 ms 11 ms 13 ms 4 we21.spectranet.com (196.01.83.12) 535 ms 549 ms 513 5 isp.net.ny (196.23.0.0)...

Chủ đề:
Lưu

Nội dung Text: Tìm hiểu về Traceroute

  1. Tìm hiểu về Traceroute Traceroute là gì? Traceroute là một chương trình cho phép bạn xác định được đường đi của các gói packets từ máy bạn đến hệ thống đ ích trên mạng Internet. M ột ví dụ về Traceroute! Traceroute có thể làm đ ược g ì? Bạn hãy xem ví dụ sau sẽ rõ! windows>tracert 203.94.12.54 Tracing route to 203.94.12.54 over a maximum of 30 hops 1 abc.netzero.com (232.61.41.251) 2 ms 1 ms 1 ms 2 xyz.Netzero.com (232.61.41.0) 5 ms 5 ms 5 ms 3 232.61.41.10 (232.61.41.251) 9 ms 11 ms 13 ms 4 we21.spectranet.com (196.01.83.12) 535 ms 549 ms 513 5 isp.net.ny (196.23.0.0) 562 ms 596 ms 600 ms 6 196.23.0.25 (196.23.0.25) 1195 ms1204 ms 7 backbone.isp.ny (198.87.12.11) 1208 ms1216 ms1233 ms 8 asianet.com (202.12.32.10) 1210 ms1239 ms1211 ms 9 south.asinet.com (202.10.10.10) 1069 ms1087 ms1122 ms 10 backbone.vsnl.net.in (203.98.46.01) 1064 ms1109 ms1061 11 newdelhi-01.backbone.vsnl.net.in (203.102.46.01) 1185 ms1146 ms1203 ms 12 newdelhi-00.backbone.vsnl.net.in (203.102.46.02) ms1159 ms1073 ms 13 mtnl.net.in (203.194.56.00) 1052 ms 642 ms 658 ms Tôi cần biết đường đi từ máy tôi đến một host trên mạng Internet có địa chỉ ip là 203.94.12.54. Tôi cần phải tracert đến nó! Như bạn thấy ở trên, các gói packets từ máy tôi muốn đến được 203.94.12.54 phải đi qua 13 hops(mắt xích) trên mạng. Đây là đưòng đi của các gói packets: Netzero(ISP đã gởi dữ liệu đi) -> Spectranet (một nhà công cấp mạng xương sống - Backbone Provider) -> New York ISP -> New York Backbone -> Asia -> South Asia -> India Backbone -> New Delhi Backbone -> một router khác trong New Delhi Backbone -> New Delhi ISP Như vậy, host có địa chỉ ip 203.94.12.54 nằm ở New Delhi, India, South Asia! Bạn cũng có thể telnet đến 203.94.12.54 trên cổng 13(datetime) để xác định giờ GMT qua đ ó bạn có thể biết được vị trí của host này(yêu cầu là host 203.94.12.54 phải chạy daemon datetime và được đ ịnh cấu hình đúng về thời gian)! Traceroute hoạt động như thế nào?
  2. Trước hết, bạn cần biết về ICMP, TTL và cách làm việc của các routers(b ộ định tuyến)! Những kiến thức cơ bản ICMP - Internet Control Message Protocol. ICMP được dùng để thông báo các lỗi xảy ra trong quá trình truyền đi của các gói dữ liệu trên mạng. ICMP thuộc tầng vận huyển - Transpoort Layer! HTTP FTP Telnet Finger S SH D NS DNS SNMP RIP Tầng ứng dụng POP3/IMAP SMTP Gopher BGP RADIUS Archie Ping Time/NTP Whois TACACS+ S SL Traceroute tftp TCP UDP ICMP OSPF Tầng vận chuyển IP ARP Tầng Internet Ethernet/802.3 Token Ring (802.5) SNAP/802.2 X.25 FDDI ISDN Frame Relay SMDS ATM Wireless (WAP, CDPD, 802.11) Tầng vật lí Fibre Channel DDS/DS0/T-carrier/E-carrier S ONET/SDH DWDM PPP HDLC S LIP/CSLIP xDSL Cable Modem (DOCSIS) Tất cả các ICMP messages đều được chuyển đ i cùng với các IP datagrams. Mỗi ICMP message được gói trong IP datagram sẽ có dạng như sau: + ---------------------+-------------------------+ | IP Header(20 bytes) | ICMP message (32 bytes) | + ---------------------+-------------------------+ Sau đây là cấu trúc của một IMCP message: (tham khảo RFC792 để biết thêm!) 0 78 15 16 31 + -----------------+-----------------+-----------------+ | Type (0 or 8) | Code (0) | 16-bit Checksum | + -----------------+-----------------+-----------------+ | Indentifier | sequence number | + -----------------+-----------------+-----------------+ | | | Optional Data (nội dung tùy thuộc vào Type và Code) | | | + -----------------------------------------------------+ trư ờng type có 15 giá trị khác nhau, tùy thuộc vào từng loại ICMP error message  cụ thể. Ví dụ type=3 để chỉ định cho thông báo lỗi "Không đến được đ ích" - "Destination unreachable" error message! trư ờng code = sub -error dùng để xác đ ịnh chính xác lỗi đã xảy ra. Ví dụ, type=3  và code=0 nghĩa là "Network Unreachable"(không đến được mạng); nếu type=3, code=1 nghĩa là "Host Unreachable"(không đến được host)...
  3. TTL - Time to Live. TTL là một trường 8 bit trong IP header(bạn hãy xem lại cấu trúc của IP header!). TTL là thời gian gói dữ liệu tồn tại trên mạng trước khi nó bị bỏ qua. Người gởi dữ liệu đi sẽ xác định một giá trị TTL trước, thường là từ 32 -> 64. Giá trị này sẽ được giảm đ i một khi một khi được chuyển qua một bộ định tuyến trên mạng. Khi giá trị này bằng 0, datagram này sẽ bị bỏ qua và giao thức ICMP sẽ báo lỗi về cho người gởi. Điều này sẽ tránh cho datagram này đi vào một vòng lặp vô tận qua các b ộ định tuyến. M ỗi bộ định tuyến khi nhận được IP datagram sẽ giảm giá trị TTL của datagram này đ i một. Hầu hết các bộ định tuyến đều không giữ lại datagram này trong thời gian quá 1 giây trước khi chuyển datagram này đi. Nên giá trị TTL có thể coi bằng hop(counter) = số bộ định tuyến mà datagram này vừa vượt qua. Khi bộ định tuyến nhận được một datagram có trường TTL bằng 0 hoặc 1, nó sẽ không chuyển datagram này đi tiếp. Thay vào đó, nó sẽ bỏ qua datagram này và gởi một ICMP message "Time Exceeded"(quá thời gian) trở lại cho người đã gởi datagram này! Vì ICMP message mà bộ định tuyến gởi trở lại cho ng ười gởi có địa chỉ nguồn - source address là địa chỉ ip của bộ định tuyến này nên người gởi có thể biết được địa chỉ ip của router này! Cách làm việc của traceroute! Traceroute gởi một IP datagram có TTL=1 đến hệ thống đ ích. Router đầu tiên nhận được datagram này sẽ giảm giá trị TTL đi một -> TTL=0 và router này sẽ bỏ qua datagram này(không gởi nó đ i tiếp!) và gởi một ICMP error message với địa chỉ ip nguồn là địa chỉ của nó đến máy bạn. Như vậy router có thể xác đ ịnh địa chỉ ip của router thứ nhất! Sau đó, traceroute sẽ gởi một datagram mới đi với giá trị TTL=2(1+1=2) đến hệ thống đích. Router đầu tiên sẽ giảm giá trị của TTL đ i một -> TTL=1(2-1=1) và chuyển datagram này sang router thứ 2. Router thứ 2 nhận được datagram có TTL=1 sẽ giảm TTL=0. Rounter 2 nhận thấy TTL=0 nên nó sẽ không chuyển datagram này đ i tiếp. Router 2 sẽ gởi trở lại máy bạn một ICMP error message với địa chỉ ip nguồn là địa chỉ ip của nó(router 2). Như vậy trình traceroute trên máy bạn sẽ biết được router thứ 2 mà datagram đã đ i qua. Traceroute sẽ tiếp tục gởi một datagram khác có TTL=3(2+1=3) đ i và lặp lại quá trình trên cho đến khi datagram đến được hệ thống đích! Nếu bây giờ IP datagram đã đến được đ ích, TTL=1. Host đích sẽ bỏ qua datagram này và nó cũng sẽ không gởi "Time Exceeded" ICMP error message. Như vậy thì bạn sẽ không thể nào biết được là mình đã đến đích chưa?! Traceroute dùng một cơ chế khác như sau: Traceroute gởi UDP datagrams đến host đ ích trên các cổng UDP có số hiệu lớn(>30000). Sở dĩ nó chọn các cổng có giá trị lớn vì thường không có ứng dụng nào đang lắng nghe ở các cổng này. Khi host đích nhận được UDP datagram này, nó sẽ gởi trả lại một ICMP error message "Port Unreachable"(không đến được cổng) cho traceroute. Bây giờ thì traceroute có thể phân biệt được sự khác nhau giữa ICMP e rror message "Time Exceeded" với "Port Unreachable" để biết được đã đến được đ ích hay chưa?! Ghi chú: ICMP error message "Time Exceeded" có type=1 và code=0; ICMP eror message "Port Unreachable" có type=3 và code=3
  4. Tổng kết: traceroute gởi UDP datagrams đến host đ ích với giá trị TTL=1 và được tăng sau mỗi lần để xác định các routers mà datagrams đã đi qua. Mỗi router sẽ gởi trở về một ICMP message "Time Exceeded". Riêng hệ thống đích sẽ gởi trở lại cho traceroute một ICMP message "Port Unreachable". Traceroute dựa vào sự khác biệt này để xác định xem đã đến được đ ích chưa?! Ví d ụ cuối cùng! host2 # traceroute xyz.com traceroute to xyz.com (202.xx.12.34), 30 hops max, 40 byte packets 1 isp.net (202.xy.34.12) 20ms 10ms 10ms 2 xyz.com (202.xx.12.34) 130ms 130ms 130ms D òng đầu tiên cho biết hostname và đ ịa chỉ IP của hệ thống đ ích. Dòng này còn cho chúng ta biết thêm giá trị TTL
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2