Packet sniffing là gì?
Nội dung bài viết:
1. Packet sniffing là gì?
2. Packet sniffing hoạt động như thế nào?
3. Packet sniffing thu thập loại thông tin nào?
4. Khi nào bạn nên cân nhắc sử dụng tính năng packet sniffing?
1. Packet sniffing là gì?
- Packet sniffing là hoạt động thu thập, chọn lựa và ghi nhật ký một số hoặc tất cả các gói tin (Packets) đi qua mạng máy tính, bất kể gói tin đó được định địa chỉ như thế nào. Bằng cách này, mọi gói tin, hoặc một tập con đã xác định của các gói tin, có thể được thu thập để phân tích thêm. Nếu bạn với tư cách là quản trị viên mạng, bạn có thể sử dụng dữ liệu thu thập được cho nhiều mục đích khác nhau như giám sát băng thông (Bandwidth) và lưu lượng (Traffic).
- Một trình đánh giá gói tin (tiếng Anh gọi là Packet Sniffer), đôi khi được gọi là trình phân tích gói tin (Packet analyzer), bao gồm hai phần chính. Đầu tiên, một bộ điều hợp mạng (Network Adapter) kết nối trình đánh giá (Sniffer) với mạng (Networks) hiện có. Thứ hai, phần mềm cung cấp cách ghi nhật ký (Log), xem hoặc phân tích dữ liệu do thiết bị thu thập.
2. Packet sniffing hoạt động như thế nào?
- Mạng (Networks) là một tập hợp các nút (Node), chẳng hạn như máy tính cá nhân (Personal Computers), máy chủ (Server) và phần cứng mạng (Network Hardware) được kết nối với nhau. Kết nối mạng cho phép truyền dữ liệu giữa các thiết bị này. Các kết nối có thể là vật lý với cáp (cable) hoặc không dây (wireless) với tín hiệu vô tuyến. Mạng cũng có thể là sự kết hợp của cả hai loại.
- Khi các nút gửi dữ liệu qua mạng, mỗi lần truyền được chia thành các phần nhỏ hơn được gọi là gói tin (Packets). Chiều dài và định dạng được xác định cho phép các gói tin được kiểm tra về tính hoàn chỉnh và khả năng sử dụng. Vì cơ sở hạ tầng của mạng chung cho nhiều nút, các gói tin dành cho các nút khác nhau sẽ đi qua nhiều nút khác trên đường đến đích của chúng. Để đảm bảo dữ liệu không bị trộn lẫn, mỗi gói tin được gán một địa chỉ đại diện cho đích dự kiến của gói tin đó.
- Địa chỉ của gói tin được kiểm tra bởi mỗi bộ điều hợp mạng (Network Adapter) và thiết bị được kết nối để xác định nút mà gói tin đó được sử dụng. Trong điều kiện hoạt động bình thường, nếu một nút nhìn thấy một gói tin không được gửi đến nó, thì nút đó sẽ bỏ qua gói tin đó và dữ liệu của nó.
- Packet sniffing bỏ qua các bước truyền dẫn tiêu chuẩn này và thu thập tất cả hoặc một số gói, bất kể chúng được giải quyết như thế nào.
- Có hai loại Packet Sniffer chính:
-
Hardware Packet Sniffers: Một Packet Sniffer phần cứng được thiết kế để cắm vào mạng và kiểm tra nó. Một Packet Sniffer phần cứng đặc biệt hữu ích khi cố gắng xem lưu lượng của một phân đoạn mạng cụ thể. Bằng cách cắm trực tiếp vào mạng vật lý tại vị trí thích hợp, bộ Packet Sniffer phần cứng có thể đảm bảo rằng không có gói tin nào bị mất do lọc (Filtering), định tuyến (Routing) hoặc các nguyên nhân cố ý hoặc vô ý khác. Bộ Packet Sniffer phần cứng lưu trữ các gói tin đã thu thập hoặc chuyển tiếp chúng đến bộ thu thập ghi lại dữ liệu được bộ Packet Sniffer phần cứng để phân tích thêm.
-
Software Packet Sniffers: Hầu hết các Packet Sniffer ngày nay đều thuộc loại phần mềm đa dạng này. Mặc dù bất kỳ giao diện mạng nào được gắn vào mạng đều có thể nhận từng bit lưu lượng mạng đi qua, nhưng hầu hết đều được định cấu hình để không làm như vậy. Một Packet Sniffer phần mềm thay đổi cấu hình này để giao diện mạng chuyển tất cả lưu lượng mạng lên ngăn xếp (gọi là Stack). Cấu hình này được gọi là chế độ quảng bá (Promiscuous Mode) cho hầu hết các bộ điều hợp mạng. Khi ở chế độ quảng bá, chức năng của trình kiểm tra gói tin Packet Sniffer sẽ trở thành vấn đề phân tách (Seperating), tập hợp lại (reassembling) và ghi nhật ký (logging) tất cả các gói phần mềm đi qua giao diện, bất kể địa chỉ đích của chúng. Các Packet Sniffer phần mềm thu thập tất cả lưu lượng đi qua giao diện mạng vật lý. Lưu lượng đó sau đó được ghi lại và sử dụng theo các yêu cầu dò tìm gói tin của phần mềm.
- Việc thu thập dữ liệu trên toàn bộ mạng có thể cần nhiều trình đánh giá gói tin Packet Sniffer. Bởi vì mỗi bộ thu thập chỉ có thể thu thập lưu lượng mạng (network traffic) được nhận bởi bộ điều hợp mạng (network adapter), nó có thể không thể nhìn thấy lưu lượng tồn tại ở phía bên kia của bộ định tuyến (Router) hoặc bộ chuyển mạch (Switch). Trên mạng không dây, hầu hết các bộ điều hợp chỉ có khả năng kết nối với một kênh (channel) tại một thời điểm. Để thu thập dữ liệu trên nhiều phân đoạn mạng hoặc nhiều kênh không dây, cần có trình phân tích gói tin Packet sniffer trên mỗi phân đoạn của mạng. Hầu hết các giải pháp giám sát mạng đều cung cấp chức năng dò tìm gói tin packet sniffing như một trong những chức năng của các tác nhân giám sát của họ.
3. Packet sniffing thu thập loại thông tin nào?
- Packet sniffing thu thập toàn bộ gói tin của mỗi mạng truyền. Các gói tin không được mã hóa có thể được tập hợp lại và đọc toàn bộ. Ví dụ: các gói tin bị chặn từ người dùng truy cập vào một trang web sẽ bao gồm HTML và CSS của các trang web đó. Phổ biến nhất là trường hợp người dùng đăng nhập vào tài nguyên mạng qua các đường truyền không được mã hóa để lộ tên người dùng và mật khẩu của họ dưới dạng văn bản thuần túy có thể được nhìn thấy trong các gói tin được thu thập.
4. Khi nào bạn nên cân nhắc sử dụng tính năng packet sniffing?
- Packet sniffing có nhiều công dụng thiết thực. Thông thường, Packet sniffing được sử dụng để khắc phục sự cố mạng. Các gói tin được phát hiện trên mạng mà chúng không được cho là có trong đó có thể gợi ý định tuyến hoặc chuyển mạch không đúng cách. Các gói tin được đánh dấu cho các cổng không phù hợp với giao thức của chúng cũng có thể gợi ý cấu hình sai của một hoặc nhiều nút. Bạn cũng có thể phân tích lưu lượng truy cập và phản hồi nhận được cho các yêu cầu. Nút có truy vấn đúng máy chủ DHCP không? Yêu cầu DNS chính xác có được chuyển đến đúng vị trí không? Lưu lượng truy cập có được mã hóa bằng SSL hoặc HTTPS khi cần thiết hay các phản hồi không được mã hóa được gửi đi không? Đường định tuyến do gói thực hiện có phải là đường hiệu quả nhất đến đích cuối cùng của nó không?
- Các gói tin cũng có thể được phân tích để xem liệu một ứng dụng cụ thể có đang sử dụng quá nhiều băng thông hay không hoặc liệu quá trình xác thực có yêu cầu nhiều cuộc gọi qua lại hay không. Dựa trên dữ liệu được cung cấp, bạn có thể nâng cấp thông tin liên lạc hoặc khắc phục sự cố ứng dụng để nâng cao hiệu suất phần mềm.
- Bạn có thể sử dụng tính năng dò tìm gói tin Packet Sniffing để theo dõi xu hướng tiêu thụ trên mạng. Phân tích các gói tin được thu thập có thể cho thấy rằng một lượng lớn lưu lượng truy cập đang được sử dụng bởi một ứng dụng nội bộ nhất định hoặc truyền video. Ngoài ra, lưu lượng truy cập giảm có thể cho thấy rằng các tài nguyên cụ thể đang được sử dụng ít hơn.
- Tính năng dò tìm gói tin Packet Sniffing có thể hữu ích trong việc tăng cường bảo mật mạng. Ví dụ: khi giám sát lưu lượng truy cập tên người dùng và mật khẩu văn bản rõ ràng, bạn có thể nhận thấy các vấn đề bảo mật có thể xảy ra trước bất kỳ tin tặc nào. Ngoài ra, giám sát lưu lượng truy cập từ xa có thể giúp đảm bảo rằng tất cả lưu lượng truy cập được mã hóa đúng cách và không bị gửi ra ngoài internet mà không có mã hóa.
Dịch: N.V.Hùng