Tải bản đầy đủ (.pdf) (65 trang)

từng bước phân tích gói tin với 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.18 MB, 65 trang )

Phân tích gói tin với wireshark


MỤC LỤC

MỤC LỤC 2
Giới thiệu 3
1.Thế nào là phân tích gói tin? 3
2.Các bước để nghe gói tin: 4
I. Các cách thức nghe gói tin trên mạng 5
1.Living Promiscuously (chế độ bắt tất cả các gói tin
đi qua) 5
2.“Nghe” trong mạng có Hub 5
3.“Nghe” trong mạng Switched 6
Port Mirroring 6
Hubbing Out 7
ARP Cache Poisoning 8
4.Nghe trong mạng sử dụng Router 9
Network Maps 10
II. Giới thiệu WireShark 11
Một số tính năng nâng cao của Wireshark 12
1.Name Resolution 12
2.Protocol Dissection 13
3.Following TCP Streams 13
4.Cửa sổ thống kê phân cấp giao thức 13
5.Xem các Endpoints 14
6.Cửa số đồ thị IO 15

Giới thiệu

Hàng ngày, có hàng triệu vấn đề lỗi trong một mạng


máy tính, từ việc đơn giản là nhiễm Spyware cho đến
việc phức tạp như lỗi cấu hình router, và các vấn đề
này không thể được xử lý tất cả lập tức. Tốt nhất là
chúng ta có thể hi vọng thực hiện công việc đó bằng
cách chuẩn bị đầy đủ các kiến thức và các công cụ
tương ứng với các vấn đề. Tất cả các vấn đề trên
mạng đều xuất phát ở mức gói, nơi mà không có gì
được che dấu đối với chúng ta, nơi mà không có thứ
gì bị ẩn đi bởi các cấu trúc menu, các hình ảnh bắt
mắt hoặc là các nhân viên không đáng tin cậy.
Không có gì bí mật ở đây, và chúng ta có thể điều
khiển được mạng và giải quyết các vấn đề. Đây chính
là thế giới của phân tích gói tin.
1. Thế nào là phân tích gói tin?
Phân tích gói tin, thông thường được quy vào việc
nghe các gói tin và phân tích giao thức, mô tả quá
trình bắt và phiên dịch các dữ liệu sống như là các
luồng đang lưu chuyển trong mạng với mục tiêu hiểu
rõ hơn điều gì đang diễn ra trên mạng. Phân tích gói
tin thường được thực hiện bởi một packet sniffer,
một công cụ được sử dụng để bắt dữ liệu thô trên
đang lưu chuyển trên đường dây. Phân tích gói tin có
thể giúp chung ta hiểu cấu tạo mạng, ai đang ở trên
mạng, xác định ai hoặc cái gì đang sử dụng băng
thông, chỉ ra những thời điểm mà việc sử dụng mạng
đạt cao điểm, chỉ ra các khả năng tấn công và các
hành vi phá hoại, và tìm ra các ứng dụng không được
bảo mật.
Có một vài kiểu chương trình nghe gói tin, bao gồm
cả miễn phí và sản phẩm thương mại. Mỗi chương

trình được thiết kế với các mục tiêu khác nhau. Một
vài chương trình nghe gói tin phổ biến như là
tcpdump (a command-line program), OmniPeek, và
Wireshark (cả hai đều là chương trình có giao diện
đồ hoạ). Khi lựa chọn chương trình nghe gói tin, ta
cần phải quan tâm đến một số vấn đề: các giao thức
mà chương trình cần hỗ trợ, tính dễ sử dụng, chi phí,
hỗ trợ kỹ thuật và chương trình hỗ trợ cho hệ điều
hành nào.
1. Các bước để nghe gói tin:
Quá trình nghe gói tin được chia làm 3 bước: thu
thập dữ liệu, chuyển đổi dữ liệu và phân tích.
 Thu thập dữ liệu: đây là bước đầu tiên, chương
trình nghe gói tin chuyển giao diện mạng được
lựa chọn sang chế độ Promiscuous. Chế độ này
cho phép card mạng có thể nghe tất cả các gói
tin đang lưu chuyển trên phân mạng của nó.
Chương trình nghe gói sử dụng chế độ này cùng
với việc truy nhập ở mức thấp để bắt các dữ liệu
nhị phân trên đường truyền.
 Chuyển đổi dữ liệu: trong bước này, các gói tin
nhị phân trên được chuyển đổi thành các khuôn
dạng có thể đọc được.
 Phân tích: phân tích các gói tin đã được chuyển
đổi.


Có vài chương trình khác nhau về nghe gói tin, trong
tiểu luận này, chúng tôi xin giới thiệu một chương
trình điển hình với nhiều tính năng mạnh hỗ trợ việc

bắt và phân tích gói tin. Đó là WireShark.
Nội dung các phần chính:
 Phần I: Các cách thức nghe gói tin trên mạng
 Phần II: Giới thiệu WireShark
 Phần III: Các tính huống với WireShark
 Phần IV: Xử lý các tình huống mạng với
WireShark




I. Các cách thức nghe gói tin trên mạng

Để thực hiện việc bắt các gói tin trên mạng, ta phải
chỉ ra những vị trí tương ứng để đặt “máy nghe” vào
hệ thống đường truyền của mạng. Quá trình này đơn
giản là đặt “máy nghe” vào đúng vị trí vật lý nào
trong một mạng máy tính. Việc nghe các gói tin
không đơn giản chỉ là cắm một máy xách tay vào
mạng và bắt gói. Thực tế, nhiều khi việc đặt máy
nghe vào mạng khó hơn việc phân tích các gói tin.
Thách thức của việc này là ở chỗ là có một số lượng
lớn các thiết bị mạng phần cứng được sử dụng để kết
nối các thiết bị với nhau. Lý do là vì 3 loại thiết bị
chính (hub, switch, router) có nguyên lý hoạt động
rất khác nhau. Và điều này đòi hỏi ta phải nắm rõ
được cấu trúc vật lý của mạng mà ta đang phân tích.
Chúng ta sẽ nghiên cứu một số mạng thực tế để chỉ
ra cách tốt nhất để bắt các gói tin trong từng môi
trường mạng sử dụng Hub, Switch và Router.

1. Living Promiscuously (chế độ bắt tất cả các
gói tin đi qua)
Trước khi nghe các gói tin trên mạng, ta cần một
card mạng có hỗ trợ chế độ Promiscuous. Chế độ
Promiscuous cho phép card mạng nhìn thấy thất cả
các gói tin đi qua hệ thống dây mạng. Khi một card
mạng không ở chế độ này, nó nhìn thấy một số
lượng lớn các gói tin trên mạng nhưng không gửi cho
nó, nó sẽ huỷ (drop) các gói tin này. Khi nó ở chế độ
Promiscuous, nó bắt tất cả các gói tin và gửi toàn bộ
tới CPU.
1. “Nghe” trong mạng có Hub
Việc nghe trong một mạng có hub là một điều kiện
trong mơ cho việc phân tích gói tin. Cơ chế hoạt
động của Hub cho phép gói tin được gửi tất cả các
cổng của hub. Hơn nữa, để phân tích một máy tinh
trên một hub, tất cả các công việc mà bạn cần làm là
cắm máy nghe vào một cổng còn trống trên hub.
Bạn có thể nhìn thấy tất cả các thông tin truyền và
nhận từ tất cả các máy đang kết nối với hub đó, của
sổ tầm nhìn của bạn không bị hạn chế khi mà máy
nghe của bạn được kết nối với một mạng hub.
1. “Nghe” trong mạng Switched
Một môi trường switched là kiểu mạng phổ biến mà
bạn làm việc. Switch cung cấp một phương thức hiệu
quả để vận chuyển dữ liệu thông qua broadcast,
unicast, multicast. Switch cho phép kết nối song
công (full-duplex), có nghĩa là máy trạm có thể
truyền và nhận dữ liệu đồng thời từ switch. Khi bạn
cắm một máy nghe vào một cổng của switch, bạn chỉ

có thể nhìn thấy các broadcast traffic và những gói
tin gửi và nhận của máy tính mà bạn đang sử dụng.




Có 3 cách chính để bắt được các gói tin từ một thiết
bị mục tiêu trên mạng switch: port mirroring, ARP
cache poisoning và hubbing out.
Port Mirroring

Port mirroring hay còn gọi là port spanning có thể là
cách đơn giản nhất để bắt các lưu lượng từ thiết bị
mục tiêu trên mạng switch. Với cách này, bạn phải
truy cập được giao diện dòng lệnh của switch mà
máy mục tiêu cắm vào. Tất nhiên là switch này phải
hỗ trợ tính năng port mirroring và có một port trống
để bạn có thể cắm máy nghe vào. Khi ánh xạ cổng,
bạn đã copy toàn bộ lưu lượng đi qua cổng này sang
một cổng khác.

Hubbing Out

Một cách đơn giản khác để bắt các lưu lượng của
thiết bị mục tiêu trong một mạng switch là hubbing
out. Hubbing out là kỹ thuật mà trong đó bạn đặt
thiết bị mục tiêu và máy nghe vào cùng một phân
mạng bằng cách đặt chúng trực tiếp vào một hub.

Rất nhiều người nghĩ rằng hubbing out là lừa dối,

nhưng nó thật sự là một giải pháp hoàn hảo trong
các tình huống mà bạn không thể thực hiện port
mirroring nhưng vẫn có khả năng truy cập vật lý tới
switch mà thiết bị mục tiêu cắm vào.
Trong hầu hết các tình huống, hubbing out sẽ giảm
tính năng song công của thiết bị mục tiêu (full to
haft). Trong khi phương thức này không phải là cách
sạch sẽ nhất để nghe, và nó thường được bạn sử
dụng như là một lựa chọn khi mà switch không hỗ
trợ port mirroring.
Khi hubbing out, chắc chắn rằng bạn sử dụng một
cái hub chứ không phải là một switch bị gắn nhầm
nhãn. Khi mà bạn sử dụng hub, hãy kiểm tra để chắc
chắn rằng nó là một hub bằng cách cắm 2 máy tính
vào nó và nhìn xem cái một máy có thể nhìn thấy
lưu lượng của cái còn lại không.
ARP Cache Poisoning

Địa chỉ tầng 2 (địa chỉ MAC) được sử dụng chung với
hệ thống hệ thống địa chỉ tầng 2. Tất cả các thiết bị
trong một mạng liên lạc với nhau thông qua địa chỉ
IP. Do switch làm việc tại tầng 2, vì vậy nó phải có
khả năng phiên dịch địa chỉ tầng 2 (MAC) sang địa
chỉ tầng 3 (IP) hoặc ngược lại để có thể chuyển tiếp
gói tin tới thiết bị tương ứng. Quá trình phiên dịch
được thực hiện thông qua một giao thức tầng 3 là
ARP (Address Resolution Protocol). Khi một máy tính
cần gửi dữ liệu cho một máy khác, nó gửi một yêu
cầu ARP tới switch mà nó kết nối. Switch đó sẽ gửi
một gói ARP broadcast tới tất cả các máy đang kết

nối với nó để hỏi. Khi mà máy đích nhận được gói tin
này, nó sẽ thông báo cho switch bằng cách gửi địa
chỉ MAC của nó. Sau khi nhận được gói tin phản hồi,
Switch định tuyến được kết nối tới máy đích. Thông
tin nhận được được lưu trữ trong ARP cache của
switch và switch sẽ không cần phải gửi một thông
điệp ARP broadcast mới mỗi lần nó cần gửi dữ liệu tới
máy nhận.
ARP cache poisoning là một kỹ thuật nâng cao trong
việc nghe đường truyền trong một mạng switch. Nó
được sử dụng phổ biến bởi hacker để gửi các gói tin
địa chỉ sai tới máy nhận với mục tiêu để nghe trộm
đường truyền hiện tại hoặc tấn công từ chối dịch vụ,
nhưng ARP cache poisoning chỉ có thể phục vụ như là
một cách hợp pháp để bắt các gói tin của máy mục
tiêu trong mạng switch. ARP cache poisoning là quá
trình gửi một thông điệp ARP với địa chỉ MAC giả
mạo tới switch hoặc router nhằm mục đích nghe lưu
lượng của thiết bị mục tiêu. Có thể sử dụng chương
trinh Cain & Abel để thực hiện việc này (oxid.it -
Home).

1. Nghe trong mạng sử dụng Router


Tất cả các kỹ thuật nghe trong mạng switch đều có
thể được sử dụng trong mạng router. Chỉ có một việc
cần quan tâm khi mà thực hiện với mạng router là sự
quan trọng của việc đặt máy nghe khi mà thực hiện
xử lý một vấn đề liên quan đến nhiều phân mạng.

Broadcast domain của một thiết bị được mở rộng cho
đến khi nó gặp router. Khi đó, lưu lượng sẽ được
chuyển giao sang dòng dữ liệu router tiếp theo và
bạn sẽ mất liên lạc với các gói tin đó cho đến khi bạn
nhận được một ACK của các máy nhận trả về. Trong
tình hướng này, dữ liệu sẽ lưu chuyển qua nhiều
router, vì vậy rất quan trọng để thực hiện phân tích
tất cả lưu lượng trên các giao diện của router.
Ví dụ, liên quan đến vấn đề liên kết, bạn có thể gặp
phải một mạng với một số phân mạng được kết nối
với nhau thông qua các router. Trong mạng đó, một
phân mạng liên kết với một phân mạng với mục đích
lưu trữ và tham chiếu dữ liệu. Vấn đề mà chúng ta
đang cố gắng giải quyết là phân mạng D không thể
kết nối với các thiết bị trong phân mạng A.

Khi mà bạn nghe lưu lượng của một thiết bị trong
phân mạng D. Khi đó, bạn có thể nhìn tháy rõ ràng
lưu lượng truyền tới phân mạng A, nhưng không có
biên nhận (ACK) nào được gửi lại. Khi bạn nghe
luồng lưu lượng ở phân mạng cấp trên để tìm ra
nguyên nhân vấn đề, bạn tìm ra rằng lưu lượng bị
huỷ bởi router ở phân mạng B. Cuối cùng dẫn đến
việc bạn kiểm tra cấu hình của router, nếu đúng, hãy
giải quyết vấn đề đó của bạn. Đó là một ví dụ điển
hình lý do vì sao cần nghe lưu lượng của nhiều thiết
bị trên nhiều phân mạng với mục tiêu xác định chính
xác vấn đề.
Network Maps


Để quyết định việc đặt máy nghe ở đâu, cách tốt
nhất là bạn phải biết được một cách rõ ràng mạng
mà bạn định phân tích. Nhiều khi việc xác định vấn
đề đã chiếm nửa khối lượng công việc trong việc xử
lý sự cố.
II. 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 đồ 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.
Một số tính năng nâng cao của Wireshark
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.
 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.
1. 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ể.
1. 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).
1. 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.
1. 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.


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.


1. 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ị.

III. Xử lý các tính huống thực tế với WireShark

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.







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.




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.




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.
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

×