Các nội dung chính theo chủ đề này:
Phần 1 :
Phân tích gói tin với WIRESHARK
Phần 2 :
Xử lý các tính huống thực tế với WireShark (1)Phần 3 :
Xử lý các tính huống thực tế với WireShark (2)Địa chỉ trên Google Docs:
http://docs.google.com/View?docid=dg34rcvn_22cn7krtjs
Xử lý các tính huống thực tế với WireShark (1)
http://docs.google.com/Doc?id=dg34rcvn_78hs7d6cgc
Xử lý các tính huống thực tế với WireShark (2)
http://docs.google.com/Doc?id=dg34rcvn_60c9v5jgcb1. 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 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

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

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

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

Hình
3.1-16: Since there is no user interaction happening on A’s
computer at the time of this capture, all of these packets going
across the wire should set off some alarms.
Chi
tiết gói tin thứ 5:

Hình
3.1-17: Looking more closely at packet 5, we see it is trying to
download data from the Internet.
Từ
máy tính gửi yêu cầu GET của
HTTP đến địa chỉ như trên
hình.

Hình
3.1-18: A DNS query to the weatherbug.com domain gives a clue to the
culprit.
Gói
tin trả lại bắt đầu có vấn
đề : thứ tự các phần bị
thay đổi.
Một
số gói tiếp theo có sự lặp ACK.

Sau
một loạt các thay đổi trên thì
có truy vấn DNS đến deskwx.weatherbug.com
Đây
là địa chỉ A không hề biết
và không có ý định truy cập.

Như
vậy có thể là có một process
nào đó đã làm thay đổi
địa chỉ trang chủ mỗi khi IE được
bật lên. Dùng một công cụ kiểm
tra process ẩn ví dụ như Process Explore và
thấy rằng có tiến trình
weatherbug.exe đang chạy. Sau khi tắt tiến
trình này đi không còn hiện
tượng trên nữa.
Thông
thường các tiến trình như
weatherbug có thể là virus, spyware.
Giao
diện Process Explore

Lỗi
kết nối FTP
Tình
huống : có tài khoản FTP trên
Windows Server 2003 đã update service packs vừa cài
đặt xong, phần mềm FTP Server hoàn toàn
bình thường, khoản đúng nhưng
không truy nhập được.
Thông
tin chúng ta có
Tiến
hành
Cài
đặt Wireshark trên cả 2 máy.
Phân
tích
Client:

Hình
3.1-19: The client tries to establish connection with SYN packets but
gets no response; then it sends a
few
more.
Client
gửi các gói tin SYN để bắt tay
với server nhưng không có phản hồi
từ server.
Server
:

Hình
3.1-20: The client and server trace files are almost identical.
Có
3 lý do có thể dẫn đến hiện
tượng trên
FTP
server chưa chạy, điều này không
đúng vì FTP server của chúng ta đã
chạy như kiểm tra lúc đầu
Server
quá tải hoặc có lưu lượng
quá lớn khiến không thể đáp
ứng yêu cầu. Điều này cũng
không chính xác vì server vừa mới
được cài đặt.
Cổng
21 bị cấm ở phía clien hoặc phía
server hoặc ở cả 2 phía. Sau khi kiểm
tra và thấy rằng ở phía Server cấm
cổng 21 cả chiều Incoming và Outgoing trong
Local Security Policy

Kết
luận
Đôi
khi bắt gói tin không cho ta biết trực
tiếp vấn đề nhưng nó đã
hạn chế được rất nhiều trường
hợp và giúp ta đưa ra suy đoán
chính xác vấn đề là gì.