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

Phân tích lệnh PING đến một máy ở gần, nhận xét đánh giá TELNET đến một máy nào đó, nghiên cứu sử dụng phần mềm WIRESHARK

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 (1.44 MB, 46 trang )

Bµi thùc hµnh m¹ng n©ng cao
MỤC LỤC
MỤC LỤC 1
I. Lệnh ping 2
1.1 Các bước thực hiện lệnh ping 2
1.2 Sử dụng lệnh ping để kiểm tra xem địa chỉ đích có đến được không 2
1.3 Ví dụ 3
II. Telnet 4
2.1. Telnet là gỉ ? 4
2.2. Thiết lập và kiểm tra kết nối Telnet 5
III. WireShark 11
3.1 Giới thiệu WireShark 12
3.2 Một số tính năng nâng cao của Wireshark 13
3.2.3 Following TCP Streams 14
3.3. Xử lý các tính huống thực tế với WireShark 17
3.3.1. Một số tình huống cơ bản 17
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Đề bài: Phân tích lệnh PING đến một máy ở gần, nhận xét đánh giá
TELNET đến một máy nào đó, nghiên cứu sử dụng phần mềm
WIRESHARK
I. Lệnh ping
Lệnh Ping sử dụng giao thức ICMP để kiểm tra kết nối vật lý và địa chỉ IP
của lớp Mạng. Đây là lệnh kiểm tra cơ bản.
1.1 Các bước thực hiện lệnh ping
Cấu trúc:
PING: ip/host[/t][/a][/l][/n]
+ IP: địa chỉ của máy cần kiểm tra ( có thể sử dụng đ/c IP hoặc tên của máy
tính )
+ Tham số [/t]: để máy tính liên tục ping


+ Tham số [/a]: nhận điạ chỉ IP trên host
+ Tham số [/n]: Xác định số gói tin gửi đi
Cách thức:
- Nhập lệnh Ping, theo sau là địa chỉ IP hoặc tên của máy đích.
- Nhấn phím Enter.
1.2 Sử dụng lệnh ping để kiểm tra xem địa chỉ đích có đến được không
Giao thức ICMP có thể được sử dụng để kiểm xem có đến được một địa chỉ
nào đó hay không .ICMP sẽ gửi thông điệp echo request đến máy đích .Nếu
máy đích nhận được echo request thì sẽ trả lời lại thông điệp echo reply cho
máy nguồn .Nếu máy nguồn nhận được echo reply thì điều đó khặng định là
máy đích có thể đến được bằng giao thức IP.
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Lệnh ping khởi tạo các thông điệp echo request .
- Nếu số lượng gói tin gửi đi là 6, nhận được trả lời 2 gói tin thì chứng tỏ
đường truyền rất chậm.
- Cũng có thể xác định máy đó có kết nối hay không, nếu không kết nối kết
quả là unknow host.
1.3 Ví dụ
Ví dụ như hình 8.1.5a và 8.1.5b , chúng ta sử dụng lệnh ping với địa chỉ IP
đích. Lệnh ping gửi đi 4 gói echo request và nhận về 4 gói echo reply xác
nhận kết nối IP giữa 2 thiết bị hoạt động tốt.
Hình 8.1.5a
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
II. Telnet
2.1. Telnet là gỉ ?
Telnet là giao thức giả lập đầu cuối ảo nằm trong bộ giao thức TCP/IP. Nó

cho phép thiết lập kết nối từ xa vào thiết bị. Lệnh Telnet được sử dụng để
kiểm tra hoạt động phần mềm ở lớp ứng dụng giữa 2 máy.
Telnet hoạt động ở lớp ứng dụng của mô hình OSI. Telnet hoạt động dựa trên
cơ chế TCP để đảm bảo việc truyền dữ liệu giữa client và các server. Một
router có thể cho phép thực hiện đồng thời nhiều phiên kết nối Telnet. Đường
vty 0-4 trên router là đường dành cho Telnet. 5 đường Telnet này có thể thực
hiện cùng lúc. Chúng ta cần lưu ý rằng việc sử dụng Telnet để kiểm tra kết
nối lớp ứng dụng chỉ là việc phụ. Telnet được sử dụng chủ yếu để thiết lập kết
nối từ xa vào thiết bị. Telnet là một chương trình ứng dụng đơn giản và thông
dụng nhất.
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Hình 4.21.
2.2. Thiết lập và kiểm tra kết nối Telnet
Lệnh Telnet cho phép người dùng thực hiện từ một thiết bị Cisco này sang
thiết bị khác. Chúng ta không cần phải nhập lệnh connect hay telnet để thiết
lập kết nối Telnet mà chúng ta có thể nhập tên hoặc địa chỉ IP của rounter mà
chúng ta muốn Telnet vào. Khi kết thúc phiên Telnet, bạn dùng lệnh exit hoặc
logout. Để thiết lập Telnet bạn dùng một trong các lệnh sau:
Denver>connect paris
Denver>paris
Denver>131.108.100.152
Denver>telnet paris
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
• Telnet: kiểm tra kết nối phần mềm lớp Ứng dụng giữa nguồn và máy đích.
Dưới đây là cách thu thập một số thông tin về máy chủ qua telnet. Chúng ta
có thể check mail, gởi mail và đặc biệt là có thể tham gia vào các kênh chat

IRC của nước ngoài. Tất cả chỉ bằng Telnet!
2.3 Một số lệnh cơ bản của Telnet
- CLOSE: Đóng kết nối hiện tại
- DISPLAY: Hiển thị các tham số điều khiển
- MODE: Thay đổi mode kí tự
- OPEN : Kết nối đến một site
- QUIT: Thoát telnet
- SEND: Gởi các kí tự đặc biệt
- SET: Đặt các tham số điều khiển
- UNSET: Gỡ bỏ các tham số điều khiển đã đặt
- STATUS: Cho biết các thông tin về trạng thái hiện tại
- TOGGLE: Chốt các tham số điều khiển
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
- SLC: Thay đổi trạng thái của các kí tự đặc biệt
- !: Tạo một subtelnet(telnet con)
- ENVIRON: Thay đổi các biến trạng thái
- ?: Gọi hướng dẫn sử dụng telnet
(Để biết thêm thông tin về telnet, bạn hãy gõ "man telnet" trong Linux*)
Ví dụ: cách phát hiện WEB SERVER bằng telnet
đang dùng web server gì nhỉ? Bạn hãy mở "MS-DOS
Prompt" và gõ vào:
C:\> telnet www.tnh.com.vn 80
Chúng ta telnet đến ở cổng 80!
Tiếp theo bạn gõ vào "GET / HTTP/1.1"(không có dấu nháy ") và nhấn phím
<Enter> hai lần, bạn sẽ nhận được những thông tin sau:
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/4.0
Date: Wed, 04 Jul 2001 06:52:31 GMT

Content-Type: text/html
Content-Length: 87
<html><head><title>Error</title></head><body>The parameter is incorrect.
</body>
</html>
Connection to host lost.
Hãy xem chúng ta thu thập được những gì?
dòng 1: phiên bản của http service: HTTP/1.1 (có khi là PHP/4.0). Đây là mã
trạng thái HTML
dòng 2: http server, Microsoft-IIS/4.0
dòng 3: ngày giờ +GTM
dòng 4: phân loại nội dung
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
dòng 5: chiều dài của các kí tự
Chỉ cần để ý đến dòng 2, bạn có thể biết chắc ăn 100% là
đang chạy IIS v4.0!
(Lưu ý: bạn hãy bật chế độ ghi nhật kí cho Telnet, mắt bạn không tài nào nhìn
thấy được các dòng trên đâu! Nó hiện ra quá nhanh ! Hãy vào Terminal/Start
Logging và chỉ định một file nhật kí cho Telnet !)
Bây giờ bạn thử telnet đến xem sao?!
C:\> telnet www.astalavista.box.sk 80
GET / HTTP/1.1
HTTP/1.1 400 Bad Request
Date: Wed, 04 Jul 2001 06:51:37 GMT
Server: Apache/1.3.19 (Unix) PHP/4.0.4pl1
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

Bạn có thể thấy ngay là đang chạy Apache
v1.3.19 trên nền Unix cùng với PHP v4.0.4!
Download và upload file bằng Telnet
Nếu bạn biết chính xác địa chỉ của một file trên http server, bạn có thể
download nó về bằng cách telnet đến http server đó (ở cổng 80) và gõ vào
theo dạng sau "HEAD <đường dẫn đến file cần download> HTTP/1.1" thay
cho "GET / HTTP/1.1". Ví dụ như "HEAD /wordlist.txt HTTP/1.1"
Nếu http server cho phép bạn upload file(thường thì không có chuyện này
đâu!), bạn hãy dùng lệnh "PUT" để upload file lên. Ví dụ như "PUT
/contact.htm HTTP/1.1"
Gởi thư bằng Telnet(dùng SMTP)
SMTP - Simple Mail Transfer Protocol là một daemon thường dùng để send
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
mail. Cổng mặc định của nó là 25. Okay, bây giờ bạn hãy mở telnet đi!
C:\> telnet mail.newmail.net 25
connected
220 digital Microsoft ESMTP MAIL Service, Version: 5.0.2195.1600 ready
at Wed, 4 Jul 2001 18:47:27 +1000
dòng 1: mã số trạng thái 220: digital(domain hoặc địa chỉ ip của server):
esmtp(extended) version 5.0.2195.1600
dòng 2: thời gian +GMT
Bây giờ thì bạn cần phải biết một số lệnh của smtp. Hãy gõ vào lệnh '?(hoặc
'/?') và 'help' để gọi hướng dẫn! Tiếp theo, hãy send mail !
các lệnh
HELO server.com (x authentication)
MAIL WROM:
GPKYLEJGDGVCJVTLBXFGGMEPYOQKEDOTWFAOBUZXUWLSZL
KBRNVWWCUFPEG

RCPT TO: (địa chỉ email của người nhận)
DATA (các dữ liệu trong thư)
SUBJECT email subject (dòng subject) một message cơ bản, cũng có khi là
giả mạo. (kết thúc message bằng một dòng chỉ có một dấu chấm '.')

Nhận thư qua Telnet(dùng POP3)
POP3 - Post Office Protocol Version 3. POP3 daemon thường được chạy ở
cổng 110(đây là cổn chuẩn của nó). Để check mail, bạn phải kết nối đến
server đang chạy POP3 daemon ở cổng 110!
C:\> telnet mail.newmail.net 110
connected
+OK DPOP Version number supressed. <>
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao

Bây giờ thì bạn có thể vào check mail được rồi đó! Hãy xem qua các lệnh sau:
các lệnh
USER username (username của bạn)
+OK dazzed nice to hear from you - password required
PASS password (mật khẩu để vào hòm thư của bạn)
+OK password accepted
LIST (liệt kê tất cả các thư)
1. 3045bytes
2. 345bytes
3. 8837bytes
RETR 2 (đọc lá thư thứ 2)

Tham gia vào các kênh chat IRC của nước ngoài!
Đầu tiên bạn telnet đến nether.net, đăng nhập với tên login là newuser và tạo

một account cho bạn!
C:\> telnet nether.net
login: newuser
Bây giờ hãy login vào với shell account mà bạn vừa đăng kí và chat IRC!
<> IRC mở IRC client
/SERVER irc.box.sk 6667 kết nối đến irc.box.sk ở cổng 6667 /NICK Dazzed
hãy chọn một nickname !
/JOIN #lameindustries Bây giờ hãy tham gia vào kênh chat mà bạn muốn!
Port surfing(duyệt cổng)
Port surfing nghĩa là kết nối đến các cổng của một máy chủ để thu thập các
thông tin, chẳng hạn như thời gian, hệ điều hành, các dịch vụ đang chạy, !
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Sau đây là danh sách một số cổng mà bạn nên biết!
Interesting ports
7 echo bất kì những gì bạn nhập vào sẽ được host gởi trả lại(echo) bạn, không
hữu ích cho lắm!
11 systat rất nhiều thông tin về users
13 daytime thời gian và ngày tháng ở máy chủ
15 netstat thông tin về networks
21 ftp file transfer protocol
23 telnet nơi bạn có thể login.
25 smpt simple mail transfer protocol
37 time time
39 rlp resource location
43 whois thông tin về hosts và networks
53 domain nameserver
79 finger rất nhiều thông tin về users (thường bị disable)
80 http web server

110 pop incoming email
119 nntp usenet news groups
443 https một web server khác nhưng an toàn hơn!
512 biff mail notification
513 rlogin - remote login
514 shell remote command, không cần dùng mật khẩu! syslog remote system
logging
520 route routing information protocol
III. WireShark
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
3.1 Giới thiệu WireShark
WireShark có một bề dầy lịch sử. Gerald Combs là người đầu tiên phát triển
phần mềm này. Phiên bản đầu tiên được gọi là Ethereal được phát hành năm
1998. Tám năm sau kể từ khi phiên bản đầu tiên ra đời, Combs từ bỏ công
việc hiện tại để theo đuổi một cơ hội nghề nghiệp khác. Thật không may, tại
thời điểm đó, ông không thể đạt được thoả thuận với công ty đã thuê ông về
việc bản quyền của thương hiệu Ethereal. Thay vào đó, Combs và phần còn
lại của đội phát triển đã xây dựng một thương hiệu mới cho sản phẩm
“Ethereal” vào năm 2006, dự án tên là WireShark.
WireShark đã phát triển mạnh mẽ và đến nay, nhóm phát triển cho đến nay đã
lên tới 500 cộng tác viên. Sản phẩm đã tồn tại dưới cái tên Ethereal không
được phát triển thêm.
Lợi ích Wireshark đem lại đã giúp cho nó trở nên phổ biến như hiện nay. Nó
có thể đáp ứng nhu cầu của cả các nhà phân tích chuyên nghiệp và nghiệp dư
và nó đưa ra nhiều tính năng để thu hút mỗi đối tượng khác nhau.
Các giao thực được hỗ trợ bởi WireShark:
WireShark vượt trội về khả năng hỗ trợ các giao thức (khoảng 850 loại), từ
những loại phổ biến như TCP, IP đến những loại đặc biệt như là AppleTalk

và Bit Torrent. Và cũng bởi Wireshark được phát triển trên mô hình mã
nguồn mở, những giao thức mới sẽ được thêm vào. Và có thể nói rằng không
có giao thức nào mà Wireshark không thể hỗ trợ.
• Thân thiện với người dùng: Giao diện của Wireshark là một trong
những giao diện phần mềm phân tích gói dễ dùng nhất. Wireshark là ứng
dụng đồ hoạ với hệ thống menu rât rõ ràng và được bố trí dễ hiểu. Không như
một số sản phẩm sử dụng dòng lệnh phức tạp như TCPdump, giao diện đồ
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
hoạ của Wireshark thật tuyệt vời cho những ai đã từng nghiên cứu thế giới
của phân tích giao thức.
• Giá rẻ: Wireshark là một sản phẩm miễn phí GPL. Bạn có thể tải về và
sử dụng Wireshark cho bất kỳ mục đích nào, kể cả với mục đích thương mại.
• Hỗ trợ: Cộng đồng của Wireshark là một trong những cộng đồng tốt và
năng động nhất của các dự án mã nguồn mở.
• Hệ điều hành hỗ trợ Wireshark: Wireshark hỗ trợ hầu hết các loại hệ
điều hành hiện nay.
3.2 Một số tính năng nâng cao của Wireshark
3.2.1 Name Resolution
Dữ liệu truyền trong mạng thông qua một vài hệ thống địa chỉ, các địa chỉ này
thường dài và khó nhớ (Ví dụ: MAC). Phân giải điạch chỉ là quá trình mà một
giao thức sử dụng để chuyển đổi một địa chỉ loại này thành một địa chỉ loại
khác đơn giản hơn. Chúng ta có thể tiết kiệm thời gian bằng cách sử dụng một
vài công cụ phân giải địa chỉ để file dữ liệu ta bắt được dễ đọc hơn. Ví dụ như
là chúng ta có thể sử dụng phân giải tên DNS để giúp định danh tên của một
máy tính mà ta đang có gắng xác định như là nguồn của các gói cụ thể.
Các kiểu công cụ phân giải tên trong Wireshark: có 3 loại
• MAC Name Resolution: phân giải địa chỉ MAC tầng 2 sang địa chỉ IP
tầng 3. Nếu việc phân giải này lỗi, Wireshark sẽ chuyển 3 byte đầu tiên của

địa chỉ MAC sang tên hãng sản xuất đã được IEEE đặc tả, ví dụ:
Netgear_01:02:03.
• Network Name Resolution: chuyển đổi địa chỉ tầng 3 sang một tên
DNS dễ đọc như là MarketingPC1.
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
• Transport Name Resolution: chuyển đổi một cổng sang một tên dịch
vụ tương ứng với nó, ví dụ: cổng 80 là http.
3.2.2 Protocol Dissection
Một protocol dissector cho phép Wireshark phân chia một giao thức thành
một số thành phần để phân tích. ICMP protocol dissector cho phép Wireshark
phân chia dữ liệu bắt được và định dạng chúng như là một gói tin ICMP. Bạn
có thể nghĩ rằng một dissector như là một bộ phiên dịch giữa dòng dữ liệu
trên đường truyền và chương trình Wireshark. Với mục đích để hỗ trợ một
giao thức nào đó, một dessector cho giao thức đó phải được tích hợp trong
Wireshark. Wireshark sử dụng đồng thời vài dissector để phiên dịch mỗi gói
tin. Nó quyết định dissector nào được sử dụng bằng cách sử dụng phân tích
lôgic đã được cài đặt sẵn và thực hiện việc dự đoán. Thật không may là
Wireshark không phải lúc nào cũng đúng trong việc lựa chọn dissector phù
hợp cho một gói tin. Tuy nhiên, ta có thể thay đổi việc lựa chọn này trong
từng trường hợp cụ thể.
3.2.3 Following TCP Streams
Một trong những tính năng hữu ích nhất của Wireshark là khả năng xem các
dòng TCP như là ở tầng ứng dụng. Tính năng này cho phép bạn phối hợp tất
cả các thông tin liên quan đến các gói tin và chỉ cho bạn dữ liệu mà các gói tin
này hàm chứa giống như là người dùng cuối nhìn thấy trong ứng dụng. Còn
hơn cả việc xem các dữ liệu đang được truyền giữa máy trạm và máy chủ
trong một mớ hỗn độn, tính năng này sắp xếp dữ liệu để có thể xem một cách
đơn giản. Bạn có thể sử dụng công cụ này để bắt và giải mã một phiên instant

messages được gửi bởi một người làm thuê (người này đang bị nghi ngờ phát
tán các thông tin tài chính của công ty).
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
3.2.4 Cửa sổ thống kê phân cấp giao thức
Khi bắt được một file có kích thước lớn, chúng ta cần biết được phân bố các
giao thức trong file đó, bao nhiêu phần trăm là TCP, bao nhiêu phần trăm là
IP và DHCP là bao nhiêu phần trăm, Thay vì phải đếm từng gói tin để thu
được kết quả, chúng ta có thể sử dụng cửa sổ thống kê phân cấp giao thức của
Wireshark. Đây là cách tuyệt với để kiểm thử mạng của bạn. Ví dụ, nếu bạn
biết rằng 10% lưu lượng mạng của bạn được sử dụng bởi các lưu lượng ARP,
và một ngày nào đó, bạn thấy lưu lượng ARP lên tới 50%, bạn hoàn toàn có
thể hiểu rằng đang có một cái gì đó không ổn xảy ra.
3.2.5 Xem các Endpoints
Một Endpoint là chỗ mà kết nối kết thúc trên một giao thức cụ thể. Ví dụ, có
hai endpoint trong kết nối TCP/IP: các địa chỉ IP của các hệ thống gửi và
nhận dữ liệu, 192.168.1.5 và 192.168.0.8. Một ví dụ ở tầng 2 có thể là kết nối
giữa hai NIC vật lý và địa chỉ MAC của chúng. Các NIC gửi và nhận dữ liệu,
các MAC đó tạo nên các endpoint trong kết nối.
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Khi thực hiện phân tích gói tin, bạn có thể nhận ra rằng bạn đã khoanh vùng
vấn đề chỉ còn là một enpoint cụ thể trong mạng. Hộp thoại Wireshark
endpoints chỉ ra một vài thống kê hữu ích cho mỗi endpoint, bao gồm các địa
chỉ của từng máy cũng như là số lượng các gói tin và dung lượng đã được
truyền nhận của từng máy.
3.2.6 Cửa số đồ thị IO
Cách tốt nhất để hình dung hướng giải quyết là xem chúng dưới dạng hình

ảnh. Cửa sổ đồ thị IO của Wireshark cho phép bạn vẽ đồ thị lưu lượng dữ liệu
trên mạng. Bạn có thể sử dụng tính năng này để tìm kiếm các đột biến hoặc
những thời điểm không có dữ liệu truyền của các giao thức cụ thể mà bạn
đang quan tâm. Bạn có thể vẽ đồng thời 5 đường trên cùng một đồ thị cho
từng giao thức mà bạn quan tâm bằng các màu khác nhau. Điều này giúp bạn
dễ dàng hơn để thấy sự khác nhau của các đồ thị.
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
3.3. Xử lý các tính huống thực tế với WireShark
3.3.1. Một số tình huống cơ bản
Trong phần này chúng ta sẽ đề cập đến vấn đề cụ thể hơn. Sử dụng Wireshark
và phân tích gói tin để giải quyết một vấn đề cụ thể của mạng.
Chúng tôi xin đưa ra một số tình huống điển hình.
A Lost TCP Connection (mất kết nối TCP)
Một trong các vấn đề phổ biến nhất là mất kết nối mạng.Chúng ta sẽ bỏ qua
nguyên nhân tại sao kêt nối bị mất, chúng ta sẽ nhìn hiện tượng đó ở mức gói
tin.
Ví dụ:
Một ví truyền file bị mất kết nối:
Bắt đầu bằng việc gửi 4 gói TCP ACK từ 10.3.71.7 đến 10.3.30.1
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Hình 3.1-1: This capture begins simply enough with a few ACK packets.
Lỗi bắt đầu từ gói thứ 5, chúng ta nhìn thấy xuất hiện việc gửi lại gói của
TCP.
Hình 3.1-2: These TCP retransmissions are a sign of a weak or dropped
connection.
Theo thiết kế, TCP sẽ gửi một gói tin đến đích, nếu không nhận được trả lời

sau một khoảng thời gian nó sẽ gửi lại gói tin ban đầu. Nếu vẫn tiếp tục không
nhận được phản hồi, máy nguồn sẽ tăng gấp đôi thời gian đợi cho lần gửi lại
tiếp theo.
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Như ta thấy ở hình trên, TCP sẽ gửi lại 5 lần, nếu 5 lần liên tiếp không nhận
được phản hồi thì kết nối được coi là kết thúc.
Hiện tượng này ta có thể thấy trong Wireshark như sau:
Hình 3.1-4: Windows will retransmit up to five times by default.
Khả năng xác định gói tin bị lỗi đôi khi sẽ giúp chúng ta có thể phát hiện ra
mấu trốt mạng bị mất là do đâu.
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Unreachable Destinations and ICMP Codes (không thể chạm tới điểm
cuối và các mã ICMP)
Một trong các công cụ khi kiểm tra kết nối mạng là công cụ ICMP ping. Nếu
may mắn thì phía mục tiêu trả lời lại điều đó có nghĩa là bạn đã ping thành
công, còn nếu không thì sẽ nhận được thông báo không thể kết nối tới máy
đích. Sử dụng công cụ bắt gói tin trong việc này sẽ cho bạn nhiều thông tin
hơn thay vì chỉ dung ICMP ping bình thường. Chúng ta sẽ nhìn rõ hơn các lỗi
của ICMP.
Hình 3.1-5: A standard ping request from 10.2.10.2 to 10.4.88.88
Hình dưới đây cho thấy thông báo không thể ping tới 10.4.88.88 từ máy
10.2.99.99.
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Như vậy so với ping thông thường thì ta có thể thấy kết nối bị đứt từ

10.2.99.99. Ngoài ra còn có các mã lỗi của ICMP, ví dụ : code 1 (Host
unreachable)
Hình 3.1-6: This ICMP type 3 packet is not what we expected.
Unreachable Port (không thể kết nối tới cổng)
Một trong các nhiệm vụ thông thường khác là kiểm tra kết nối tới một cổng
trên một máy đích. Việc kiểm tra này sẽ cho thấy cổng cần kiểm tra có mở
hay không, có sẵn sang nhận các yêu cầu gửi đến hay không.
Ví dụ, để kiểm tra dịch vụ FTP có chạy trên một server hay không, mặc định
FTP sẽ làm việc qua cổng 21 ở chế độ thông thường. Ta sẽ gửi gói tin ICMP
đến cổng 21 của máy đích, nếu máy đích trả lời lại gói ICMP loại o và mã lỗi
2 thì có nghĩa là không thể kết nối tới cổng đó.s
Fragmented Packets
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Hình 3.1-7: This ping request requires three packets rather than one because
the data being transmitted is
above average size.
Ở đây có thể thấy kích thước gói tin ghi nhận được lớn hơn kích thước gói tin
mặc định gửi đi khi ping là 32 bytes tới một máy tính chạy Windows.
Kích thước gói tin ở đây là 3,072 bytes.
Determining Whether a Packet Is Fragmented (xác định vị trí gói tin bị
phân đoạn)
No Connectivity (không kết nối)
Vấn đề : chúng ta có 2 nhân viên mới Hải và Thanh và được sắp ngồi cạnh
nhau và đương nhiên là được trang bị 2 máy tính. Sauk hi được trang bị và
làm các thao tác để đưa 2 máy tính vào mạng, có một vấn đề xảy ra là máy
tính của Hải chạy tốt, kết nối mạng bình thường, máy tính của Thanh không
thể truy nhập Internet.
Giáo viên hướng dẫn: Nguyễn Duy Tân

Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Mục tiêu : tìm hiểu tại sao máy tính của Thanh không kết nối được Internet và
sửa lỗi đó.
Các thông tin chúng ta có
• cả 2 máy tính đều mới
• cả 2 máy đều được đặt IP và có thể ping đến các máy khác trong mạng
Nói tóm lại là 2 máy này được cấu hình không có gì khác nhau.
Tiến hành
Cài đặt Wireshark trực tiếp lên cả 2 máy.
Phân tích
Trước hết trên máy của Hải ta nhìn thấy một phiên làm việc bình thường với
HTTP. Đầu tiên sẽ có một ARP broadcast để tìm địa chỉ của gateway ở tầng
2, ở đây là 192.168.0.10. Khi máy tính của Hải nhận được thông tin nó sẽ bắt
tay với máy gateway và từ đó có phiên làm việc với HTTP ra bên ngoài.
Hình 3.1-12: Hải’s computer completes a handshake, and then HTTP data
transfer begins.
Trường hợp máy tính của Thanh
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Hình 3.1-13: Thanh’s computer appears to be sending an ARP request to a
different IP address.
Hình trên cho thấy yêu cầu ARP không giống như trường hợp ở trên. Địa chỉ
gateway được trả về là 192.168.0.11.
Như vậy có thể thấy NetBIOS có vấn đề.
NetBIOS là giao thức cũ nó sẽ được thay thế TCP/IP khi TCP/IP không hoạt
động. Như vậy là máy của Thanh không thể kết nối Internet với TCP/IP.
Chi tiết yêu cầu ARP trên 2 máy :
Máy Hải

Máy Thanh
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển
Bµi thùc hµnh m¹ng n©ng cao
Kết luận : máy Thanh đặt sai địa chỉ gateway nên không thể kết nối Internet,
cần đặt lại là 192.168.0.10.
The Ghost in Internet Explorer (con ma trong trình duyệt IE)
Hiện tượng : máy tính của A có hiện tượng như sau, khi sử dụng trình duyệt
IE, trình duyệt tự động trỏ đến rất nhiều trang quảng cáo. Khi A thay đổi bằng
tay thì vẫn bị hiện tượng đó thậm chí khở động lại máy cũng vẫn bị như thế.
Thông tin chúng ta có
• A không thạo về máy tính lắm
• Máy tính của A dùng Widows XP, IE 6
Tiến hành
Vì hiện tượng này chỉ xảy ra trên máy của A và trang home page của A bị
thay đổi khi bật IE nên chúng ta sẽ tiếp hành bắt gói tin từ máy của A. Chúng
ta không nhất thiết phải cài Wireshark trực tiếp từ máy của A. Chúng ta có thể
dùng kỹ thuật
“Hubbing Out” .
Phân tích
Giáo viên hướng dẫn: Nguyễn Duy Tân
Sinh viên: Nguyễn Thị Chiển

×