35
PHÂN TÍCH GÓI TIN VI WIRESHARK Gii thiu Hàng ngày, có hàng triu vn đề li trong mt mng máy tính, tvic đơn gin là nhim Spyware cho đến vic phc tp như li cu hình router, và các vn đề này không thđược xlý tt clp tc. Tt nht là chúng ta có thhi vng thc hin công vic đó bng cách chun  bđầy đủ các kiến thc và các công ctương ng vi các vn đề. Tt ccác vn đề trên mng đều xut phát mc gói, nơi mà không có gì được che du đối vi chúng ta, nơi không có thgì bn đi bi các cu trúc menu, các hình nh bt mt hoc là các nhân viên không đáng tin cy. Không có gì bí mt đây, và chúng ta có thđiu khin được mng và gii quyết các vn đề. Đây chính là thế gii ca phân tích gói tin. 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 vic nghe các gói tin và phân tích giao thc, mô tquá trình bt và phiên dch các dliu sng như là các lung đang lưu chuyn trong mng vi mc tiêu hiu rõ hơn điu gì đang din ra trên mng. Phân tích gói tin thường được thc hin bi mt packet sniffer, mt công cđược sdng để bt dliu thô trên đang lưu chuyn trên đường dây. Phân tích gói tin có thgiúp chung ta hiu cu to mng, ai đang ở trên mng, xác định ai hoc cái gì đang sdng băng thông, chra nhng thi đim mà vic sdng mng đạt cao đim, chra các khnăng tn công và các hành vi phá hoi, và tìm ra các ng dng không được bo mt. Có mt vài kiu chương trình nghe gói tin, bao gm cmin phí và sn phm thương mi. Mi chương trình được thiết kế vi các mc tiêu khác nhau. Mt vài chương trình nghe gói tin phbiến như là tcpdump (a command-line program), OmniPeek, và Wireshark (chai đều là chương trình có giao din đồ ho). Khi la chn chương trình nghe gói tin, ta cn phi quan tâm đến mt svn đề: các giao thc mà chương trình cn htr, tính dsdng, chi  phí, htrkthut và chương tr ình htrcho hđiu hành nào. Các bước để nghe gói tin: Quá trình nghe gói tin được chia làm 3 bước: thu thp dliu, chuyn đổi dliu và phân tích. Thu thp dliu: đây là bước đầu tiên, chương trình nghe gói tin chuyn giao din mng được la chn sang chế độ Promiscuous. Chế độ này cho phép card mng có thnghe tt ccác gói tin đang lưu chuyn trên phân mng ca nó. Chương trình nghe gói sdng chế độ này cùng vi vic truy nhp mc thp để bt các dliu nhphân trên đường truyn. Chuyn đổi dliu: trong bước này, các gói tin nhphân trên được chuyn đổi thành các khuôn dng có thđọc được. Phân tích: phân tích các gói tin đã được chuyn đổi. Có vài chương trình khác nhau vnghe gói tin, trong tiu lun này, chúng tôi xin gii thiu mt chương trình đin hình vi nhiu tính năng mnh htrvic bt và phân tích gói tin. Đó là WireShark.  Ni dung các phn chính: Phn I: Các cách thc nghe gói tin trên mng Phn II: Gii thiu WireShark Phn III: Các tính hung vi WireShark Phn IV: Xlý các tình hung mng vi WireShark 

Wireshark Tong Quan

Embed Size (px)

Citation preview

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 1/35

PHÂN TÍCH GÓI TIN VỚI WIRESHARK 

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ễmSpyware 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ênmạ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ênkhô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.

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 trongmạ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 đượcthự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ưuchuyể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ệcsử 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 racá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óitin 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ảiquan 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.

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ântí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ụngchế độ 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 đườngtruyề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áckhuô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ệumộ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 

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 2/35

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áynghe” 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ạngkhó 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ạithiế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ỏita 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 trongtừng môi trường mạng sử dụng Hub, Switch và Router.

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âymạ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ênmạ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.

“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ântí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àomộ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áynghe của bạn được kết nối với một mạng hub.

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

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 3/35

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: portmirroring, 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ượngtừ 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ònglệ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 portmirroring 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àocùng một phân mạng bằng cách đặt chúng trực tiếp vào một hub.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 4/35

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ảotrong 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 truycậ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ằngcá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ònlạ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ấtcả 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ạitầ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 đượcthự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ếtnố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ộtmạ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áynhậ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ưngARP 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 ARPvớ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(http://www.oxid.it).

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 5/35

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 đặtmáy nghe khi mà thực hiện xử lý một vấn đề liên quan đến nhiều phân mạng. Broadcastdomain của một thiết bị được mở rộng cho đến khi nó gặp router. Khi đó, lưu lượng sẽ đượcchuyể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 huố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ượngtrê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ắnggiả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.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 6/35

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áyrõ 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ửilạ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ạntì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 tracấ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 địnhchí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àngmạ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ôngviệ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ôngty đã thuê ông về việc bản quyền của thương hiệu Ethereal. Thay vào đó, Combs và phần cònlạ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ăm2006, 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 500cộ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.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 7/35

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 ứngnhu 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ởiWireshark được phát triển trên mô hình mã nguồn mở, những giao thức mới sẽ được thêmvà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 menurâ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ứctạp như TCPdump, giao diện đồ hoạ của Wireshark thật tuyệt vời cho những ai đã từngnghiê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ụngWireshark 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ấtcủ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ệnnay.

Một số tính năng nâng cao của Wireshark 

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ỉ 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ệmthờ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ủamộ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ãngsả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ớinó, ví dụ: cổng 80 là http.

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 trongWireshark. 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 trongviệ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ọnnày trong từng trường hợp cụ thể.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 8/35

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 đếncá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ốinhì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ạmvà 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 đượcgử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ủacông ty).

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 trongfile đó, 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ầntră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.

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 endpointtrong 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ủachú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.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 9/35

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ụngtí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ủacá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ảnTrong 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óitin để giải quyết một vấn đề cụ thể của mạng.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 10/35

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 saokê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ờigian 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.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 11/35

 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 chố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íamụ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 đượcthô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ạnnhiề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ỗicủa ICMP.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 12/35

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ệcqua 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

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 13/35

Fragmented Packets

Hình 3.1-7: This ping request requires three packets rather than one because the data beingtransmitted 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 đikhi 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ênlà được trang bị 2 máy tính. Sau khi được trang bị và làm các thao tác để đưa 2 máy tính vàomạ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ínhcủ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ó

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

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 14/35

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ínhcủ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 HTTPra 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.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 15/35

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ậmchí 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ênchú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ựctiếp từ máy của A. Chúng ta có thể dùng kỹ thuật

“Hubbing Out” .

Phân tích

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 16/35

Hình 3.1-16: Since there is no user interaction happening on A’s computer at the time of thiscapture, 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 theInternet.

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.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 17/35

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ậtlê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ìnhweatherbug.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

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 18/35

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 đặtxong, 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ó

• FTP làm việc trên cổng 21

Tiến hành

Cài đặt Wireshark trên cả 2 máy.

Phân tích

Client:

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 19/35

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 20/35

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ườnghợp và giúp ta đưa ra suy đoán chính xác vấn đề là gì.

2. Xử lý các tình huống về băng thông mạng

Anatomy of a Slow Download (cốt lõi của việc download chậm)

Tình huống: cả mạng download rất chậm

Tiến hành : đặt wireshark lắng nghe toàn bộ đầu ra của mạng

Phân thích : hình ảnh dưới đây cho thấy có rất nhiều kết nối TCP,HTTP điều này có nghĩa là có

rất nhiều kết nối HTTP download dữ liệu về nên chiếm băng thông của mạng.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 21/35

Hình 3.2-1: We need to filter out all of this HTTP and TCP traffic.

Mở cửa sổ Alalyze->Expert Infos để thấy thêm thông tin.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 22/35

Hình 3.2-2: The Expert Infos window shows us chats, warnings, errors, and notes.

Mặc định Expert Infos hiển thị tất cả các thông tin. Nếu chỉ hiện thị Error+Warn+Note thì tasẽ có các thông tin sau.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 23/35

Hình 3.2-3: The Expert Infos window (sans chats) summarizes all of the problems with thisdownload.

Hình trên cho thấy:

• có rất nhiều kết nối TCP do chương trình Window update mở • có hiện tượng TCP Previous segment lost packets và các gói tin TCP gửi đi bị lặp ACK 

và bị drop, khiến TCP phải gửi lại gói tin.

  có thể 2 nguyên nhân trên chiếm băng thông của mạng và làm giảm tốc độ download.

Khảo sát tiếp các thông tin theo hướng này ta nhận được các thông tin ở các hình phía dưới.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 24/35

Hình 3.2-4: Previous segment lost packets indicate a problem.

Hình 3.2-5: A fast retransmission is seen after a packet is dropped.

Statistics >TCP Stream Graph > Round Trip Time Graph

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 25/35

Hình 3.2-6: The round trip time graph for this capture

Các hình cho thấy dự đoán ở bước trên là chính xác. Các file sẽ không thể được download về nếuthời gian lớn hơn 0.1 s, thời gian lý tưởng là 0,04s.

Kết luận : nguyên nhân do download chậm là có nhiều chương trình Windows update (có thểcác máy để auto update) và hiện tượng mất gói tin. Như vậy cần tắt bớt các chương trìnhWindows update.

Did That Server Flash Me?

Tình huống : anh Thanh phàn nàn rằng không thể truy cập vào một phần website Novell đểdownload một số phần mềm cần thiết. Mỗi lần truy cập vào site đó trình duyệt đều tải vài tải

nhưng có gì hơn thế nữa. Mạng có vấn đề gì không ?

Thông tin chúng ta có: sau khi kiểm tra sơ bộ thì tất cả các máy tính đều bình thường trừ máytính của anh Thanh. Như vậy vấn đề nằm ở máy tính của anh Thanh.

Tiến hành: cài Wireshark và bắt gói tin khi truy cập website Novell trên máy của Thanh

Phân tích:

Thông tin nhận được khi bắt đầu có kết nối HTTP đến website Novell:

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 26/35

Hình 3.2-18: The capture begins with standard HTTP communication.

Từ phía client gửi gói tin RST để kết thúc kết nối HTTP:

Hình 3.2-19: Packets 28 and 29 present a problem.

Lý do gì khiến client gửi gói tin RST ? Sử dụng một trong các tính năng cao cấp của Wireshark là Follow TCP Stream để thấy chi tiết nội dung mà phía server Novell trả về khi dùng hàm GETcủa HTTP.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 27/35

Hình 3.2-20: This Flash request is the source of our problem.

 Như vậy có thể nhìn thấy, phần Flash được mở dưới dạng PopUp nhưng Thanh không thấy gì.Kiểm tra thì thấy trình duyệt khóa tính năng PopUP.

Kết luận : trình duyệt block popup

POP Goes the Email Server

Tình huống : gửi thư chậm trong cùng domain và khác domain. Thời gian nhận được thư từ khi

gửi từ 5-10 phút.Thông tin chúng ta có:

• Mail của công ty sử dụng một mail server riêng.• Mail server dùng Post Office Protocol (POP) để nhận

Tiến hành:

Bắt gói tin tại máy mail server 

Phân thích:

Thông tin về giao thức POP qua Wireshark 

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 28/35

Hình 3.2-25: This capture includes a lot of POP packets.

Hình 3.2-26: Changing the time display format gives us an idea of how much data we arereceiving in what amount of time.

Sử dụng Follow TCP Stream để xem nội dung thư có file đính kèm thì nhận thấy như sau:

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 29/35

Hình 3.2-27: The details of packet 1 show information about the email being sent.

File đính kèm được chèn rất nhiều kí tự giống nhau vào để tăng kích thước file đính kèm, kiểmtra tiếp số lượng mail như thế này thì thấy số lượng lớn.

Có thể đi đến kết luận mail server bị spam làm cho năng lực xử lý các yêu cầu gửi đến bị giảmxuống, tương tự như tấn công từ chối dịch vụ.

Hướng giải quyết : tìm và phát hiện nguồn của thư rác, có thể dùng blacklist để cấm các địa chỉ

gửi thư rác.

Kết luận : spam mail với file attach lớn

3. Một số tình huống an ninh mạng cơ bản

OS Fingerprinting (Nhận dạng OS)

OS Fingerprinting là một kỹ thuật phổ biến được các haker sử dụng để thu thập các thông tin về

server từ xa, từ đó có những thông tin hữu ích để thực hiện các bước tấn công tiếp theo.

 Như xác định các lỗi có thể có với server mục tiêu, chuẩn bị các công cụ phù hợp cho cuộc tấncông.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 30/35

Một trong các kỹ thuật xử dụng là gửi các gói tin ICMP ít thông dụng.

• Sử dụng ICMP traffic,dùng ping sẽ không bị “cảnh báo”• Sử dụng traffic like Timestamp request/reply, Address mask request, Information request

không phổ biến lắm.

Hình 3.3-1: This is the kind of ICMP traffic you don’t want to see.

Dùng các ICMP request không phổ biến như trên đôi khi sẽ nhận được những thông tin từ mụctiêu phản hồi lại.

 Nếu các request đó được chấp nhận thì có thể dùng ICMP-based OS fingerprinting scans để quétthử.

Xử lý : vì các traffic thông thường sẽ không bao giờ thấy các gói ICMP loại 13,15,17 do đó

chúng ta có thể tạo ra bộ lọc để lọc các gói này.Ví dụ : icmp .type==13 || icmp .type==15 || icmp .type==17.

A Simple Port Scan (quét cổng ở dạng đơn giản)

Một trong các chương trình quét port nhanh và phổ biến nhất là : nmap

Mục tiêu của người tấn công:

• tìm các port mở • xác định các tunnel bí mật

Chúng ta có thể nhận dạng việc quét cổng bằng cách đặt máy “nghe” trên máy chủ cần bảo vệ đểtheo dõi.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 31/35

Hình 3.3-2: A port scan shows multiple connection attempts on various ports.

 Như trên hình có thể nhận ra rằng có những kết nối rất đáng nghi ngờ giữa máy 10.100.25.14(local machine) và máy 10.100.18.12 (remote computer).

Log file cho thấy máy tính từ xa (remote computer) gửi gói tin đến rất nhiều cổng khác nhau trênmáy local ví dụ cổng 21,1028…

 Nhưng đặc biệt là những cổng nhạy cảm như telnet (22), microsoft-ds, FTP (21), và SMTP (25)những cổng này được gửi số lượng gói tin lớn hơn vì đây là những cổng có khả năng xâm nhậpcao do lỗi của những ứng dụng sử dụng cổng này. Các gói tin đó có thể là các đoạn mã khai thác.

Blaster Worm (Sâu Blaster)

Hiện tượng: Máy tính phía client hiển thị của sổ thông báo shutdown máy trong vòng 60s. Cácthông báo này xuất hiện liên tục.

Thông tin chúng ta có:

• máy tính client đã cài chương trình diệt virus mới nhất tại thời điểm đó

Tiến hành:

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 32/35

Cài đặt Wireshark trên máy có virus.

Phân tích:

Màn hình Wireshark đã thể hiện các hành vi có nguy hại đến máy tính của virus Blaster, đượcthể hiện bằng màu đỏ, đen.

Hình 3.3-9: We shouldn’t see this level of network activity with only the timer running on thismachine.

Một trong các kinh nghiệm để phát hiện virus là xem dữ liệu các gói tin ở dạng thô (raw), rất cóthể sẽ có những thông tin hữu ích.

Hình 3.3-10: No useful information can be discerned from packet 1.

Sau khi tìm một số gói tin thì thấy có gói tin mang lại thông tin hữu ích.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 33/35

Hình 3.3-11, chúng ta thấy có địa chỉ trỏ đến thư mục C:\WINNT\System32. Thư mục này làmột trong những thư mục quan trong nhất của hệ điều hành Windows.

Hình 3.3-11: The reference to C:\WINNT\System32 means something might be accessing our system files.

Tiếp tục tìm thông tin theo cách trên, phát hiện ra tên chương trình của sâu Blaster như ở hình

3.3-12.

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 34/35

Hình 3.3-12: Packet 4 shows a reference to msblast.exe.

Khi đã xác định được ví trí file của virus ta sẽ có nhiều cách giải quyết theo các mục đích khácnhau. Đối với người dùng thông thường thì tắt tiến trình có tên đó sau đó xóa các file virus đóđi…

Trong khuôn khổ tiểu luận chúng tôi đã nêu ra một số vấn đề cơ bản có thể xử lý bằng cách sửdụng Wireshark và kỹ năng phân tích gói tin.

 Ngoài ra còn có rất nhiều tình huống khác và các tình huống nâng cao hơn tuy nhiên chúng tôi

không đề cập ở đây.

Các vấn đề khác bạn đọc có thể tham khảo thêm qua tài liệu ở phần phụ lục.

Phụ lụcTài liệu tham khảo

[1]. Chris Sanders, PRACTICAL PACKET ANALYSIS, Using Wireshark to Solve Real-World Network Problems- No Startch Press,2007

8/3/2019 Wireshark Tong Quan

http://slidepdf.com/reader/full/wireshark-tong-quan 35/35