Bản quyền phần mềm chính hãng giá rẻ
Một chiếc USB bỗng nhiên không nhận thiết bị, truyền dữ liệu chậm hoặc liên tục phát sinh lỗi – nhưng nguyên nhân thực sự nằm ở đâu? Thay vì chỉ kiểm tra bằng các công cụ thông thường, phần mềm USB Analyzer cho phép quan sát trực tiếp quá trình giao tiếp giữa thiết bị USB và máy tính để tìm ra dấu hiệu bất thường. Trong bài viết này, hãy cùng tìm hiểu cách phân tích USB bằng USB Analyzer từ A-Z, từ chuẩn bị công cụ, kết nối và bắt đầu theo dõi lưu lượng đến cách đọc dữ liệu, lọc các gói tin và xác định những vấn đề thường gặp. Đây sẽ là hướng dẫn hữu ích cho kỹ thuật viên, lập trình viên và người cần kiểm tra chuyên sâu thiết bị USB.
USB Analyzer được sử dụng để giám sát, ghi lại và phân tích quá trình giao tiếp giữa máy tính với các thiết bị USB. Phần mềm giúp người dùng quan sát các dữ liệu, request, packet và thông tin trao đổi trong quá trình thiết bị USB hoạt động, từ đó hỗ trợ kiểm tra, debug và xử lý các vấn đề liên quan đến kết nối USB.
Một số mục đích sử dụng phổ biến của USB Analyzer gồm:
Trước khi sử dụng USB Analyzer để phân tích thiết bị USB, người dùng nên chuẩn bị đầy đủ phần mềm, thiết bị và môi trường cần thiết. Việc chuẩn bị tốt giúp quá trình capture dữ liệu diễn ra ổn định và dễ phân tích hơn.

Chuẩn bị một máy tính đáp ứng yêu cầu hệ thống của USB Analyzer, có đủ dung lượng lưu trữ để ghi dữ liệu capture. Nếu phân tích trong thời gian dài, nên sử dụng máy có RAM và ổ cứng đủ lớn.
Tải và cài đặt USB Analyzer từ nguồn đáng tin cậy. Sau khi cài đặt, kiểm tra xem phần mềm có khởi động bình thường và nhận diện được môi trường USB trên máy hay không.
Chuẩn bị thiết bị muốn kiểm tra, chẳng hạn:
Nên xác định rõ thiết bị nào cần phân tích nếu máy tính đang kết nối nhiều thiết bị USB.
Sử dụng cáp USB và cổng USB hoạt động ổn định. Cáp hoặc cổng bị lỗi có thể tạo ra các vấn đề giao tiếp, khiến kết quả phân tích khó xác định nguyên nhân.
Nếu mục đích là kiểm tra lỗi kết nối, có thể sử dụng chính cáp hoặc cổng đang nghi ngờ để thu thập dữ liệu thực tế.
Một số chức năng capture USB có thể yêu cầu quyền quản trị viên trên Windows. Vì vậy, nên chuẩn bị tài khoản có quyền Administrator hoặc chạy USB Analyzer với quyền quản trị khi cần.
Trước khi bắt đầu capture, cần xác định rõ muốn kiểm tra vấn đề gì, ví dụ:
Việc xác định mục tiêu giúp bạn biết nên capture dữ liệu nào và tập trung vào thông tin nào.
Xác định trước thao tác sẽ thực hiện trong quá trình capture. Ví dụ, nếu muốn kiểm tra USB Flash Drive, có thể chuẩn bị một thao tác cắm thiết bị → mở thiết bị → đọc file → ghi file → ngắt kết nối.
Khi đó, USB Analyzer có thể ghi lại các hoạt động tương ứng để bạn phân tích.
Trước khi capture, hãy kiểm tra xem Windows có nhận diện thiết bị hay không và thiết bị có hoạt động cơ bản không. Nếu thiết bị hoàn toàn không phản hồi, cần xác định nguyên nhân có phải do cáp, cổng USB, driver hoặc chính thiết bị hay không.
Phiên capture có thể tạo ra lượng dữ liệu lớn, đặc biệt khi thiết bị truyền dữ liệu liên tục. Vì vậy, nên đảm bảo ổ đĩa còn đủ dung lượng trước khi bắt đầu.
Có thể hình dung giao diện theo cấu trúc:
Thanh Menu → Thanh công cụ → Chọn thiết bị → Danh sách Capture → Chi tiết dữ liệu → Filter/Tìm kiếm → Thanh trạng thái
Nằm ở phía trên cùng của phần mềm, cung cấp các nhóm lệnh để quản lý và phân tích dữ liệu như:
Thanh công cụ chứa các nút truy cập nhanh đến những chức năng thường sử dụng, chẳng hạn:
Nhờ các nút này, người dùng có thể thao tác nhanh mà không cần mở từng menu.
Đây là nơi hiển thị các thiết bị USB hoặc kết nối USB mà phần mềm có thể theo dõi.
Người dùng cần chọn đúng thiết bị trước khi bắt đầu capture, đặc biệt khi máy tính đang kết nối nhiều thiết bị cùng lúc.
Đây thường là khu vực chính của USB Analyzer, hiển thị các hoạt động giao tiếp USB được ghi lại.
Thông tin có thể bao gồm:
Người dùng có thể chọn từng dòng để xem chi tiết hơn.
Khi chọn một request hoặc packet, khu vực này hiển thị thông tin chi tiết liên quan đến giao dịch USB.
Tùy công cụ, người dùng có thể xem các trường dữ liệu, header, request type, endpoint, status và dữ liệu được truyền.
Đây là khu vực quan trọng khi cần debug hoặc tìm nguyên nhân lỗi giao tiếp USB.
Khi phiên capture có quá nhiều dữ liệu, khu vực Filter giúp giới hạn những thông tin cần hiển thị.
Có thể lọc theo thiết bị, endpoint, loại request, hướng truyền hoặc trạng thái. Nhờ đó, việc phân tích trở nên nhanh chóng và dễ tập trung hơn.
Chức năng Search/Find giúp tìm nhanh một từ khóa, request, packet hoặc chuỗi dữ liệu cụ thể trong phiên capture.
Tính năng này đặc biệt hữu ích khi phải xử lý một lượng lớn dữ liệu USB.
Nằm ở phía dưới giao diện, thanh trạng thái thường hiển thị các thông tin như trạng thái capture, số lượng dữ liệu đã ghi, thiết bị đang được theo dõi hoặc thông báo hoạt động.
Xem thêm:
Phần mềm VPOP3 là gì? Tính năng, bảng giá và lợi ích cho doanh nghiệp
Phần mềm TexturePacker là gì? Tính năng, bảng giá và hướng dẫn sử dụng
Phần mềm C-Free là gì? Tính năng, cách cài đặt và mua bản quyền

Kết nối USB → Chọn thiết bị → Start Capture → Thực hiện thao tác → Stop Capture → Filter → Kiểm tra Request/Packet → Tìm lỗi → Lưu kết quả.
Cắm thiết bị cần phân tích vào máy tính, chẳng hạn như USB flash, chuột, bàn phím hoặc thiết bị USB chuyên dụng.
Kiểm tra Windows đã nhận diện thiết bị và thiết bị hoạt động bình thường trước khi bắt đầu.
Khởi động USB Analyzer. Nếu phần mềm yêu cầu quyền quản trị, hãy chạy chương trình với quyền Administrator.
Trong danh sách thiết bị, tìm và chọn đúng USB cần theo dõi.
Nếu máy tính đang kết nối nhiều thiết bị, cần xác định chính xác thiết bị để tránh thu thập dữ liệu không liên quan.
Nhấn Start Capture hoặc chức năng tương đương để bắt đầu ghi lại hoạt động USB.
Lúc này, USB Analyzer sẽ theo dõi các giao tiếp phát sinh giữa máy tính và thiết bị.
Trong khi phần mềm đang capture, thực hiện thao tác mà bạn muốn kiểm tra.
Ví dụ với USB Flash:
Cắm USB → mở ổ đĩa → mở một file → sao chép file → đóng USB.
Nếu đang kiểm tra lỗi, hãy thực hiện đúng thao tác khiến lỗi xuất hiện để USB Analyzer ghi lại quá trình giao tiếp liên quan.
Sau khi hoàn thành thao tác, nhấn Stop Capture để dừng ghi dữ liệu.
Không nên capture quá lâu nếu không cần thiết vì số lượng request và packet có thể tăng rất nhanh.
Phiên capture có thể chứa rất nhiều thông tin. Sử dụng Filter để thu hẹp dữ liệu theo thiết bị, endpoint, request hoặc trạng thái.
Ví dụ, nếu muốn tìm lỗi, có thể ưu tiên kiểm tra những giao dịch có Status/Error bất thường.
Chọn từng dòng dữ liệu để xem thông tin chi tiết như:
Đây là bước quan trọng để xác định thiết bị đang giao tiếp như thế nào với máy tính.
Nếu mục tiêu là khắc phục sự cố, hãy đối chiếu dữ liệu capture với thời điểm lỗi xảy ra.
Chú ý các dấu hiệu như:
Từ đó có thể tiếp tục kiểm tra thiết bị, cáp USB, cổng USB, driver hoặc phần mềm điều khiển.
Sau khi hoàn tất, lưu phiên capture hoặc xuất dữ liệu nếu phần mềm hỗ trợ. File kết quả có thể được sử dụng để phân tích lại hoặc chia sẻ với bộ phận kỹ thuật.
Giả sử USB Flash không thể sao chép file:
Kết nối USB → mở USB Analyzer → chọn thiết bị → Start Capture → thử sao chép file → xảy ra lỗi → Stop Capture → lọc dữ liệu tại thời điểm lỗi → kiểm tra Request/Status → xác định nguyên nhân.
Trước tiên, chú ý đến cột Time/Timestamp. Thông tin này cho biết thời điểm một giao dịch USB xảy ra.
Khi phân tích lỗi, hãy xác định chính xác thời điểm thiết bị xảy ra sự cố, sau đó tập trung vào các request xuất hiện ngay trước và sau thời điểm đó.
Tiếp theo, xem cột Request hoặc Transfer Type để biết máy tính đang thực hiện loại giao tiếp nào với thiết bị.
Các request khác nhau có thể phục vụ những mục đích như:
Việc xác định loại request giúp hiểu máy tính đang yêu cầu thiết bị thực hiện điều gì.
Endpoint là một trong những thông tin quan trọng khi phân tích USB. Nó cho biết giao dịch đang sử dụng điểm giao tiếp nào của thiết bị.
Khi đọc dữ liệu, cần chú ý:
Nếu một Endpoint liên tục xuất hiện lỗi, đây có thể là vị trí cần kiểm tra sâu hơn.
Quan sát trường Direction để biết dữ liệu đang đi theo hướng nào:
Ví dụ, khi máy tính gửi một lệnh đến thiết bị, bạn có thể thấy giao dịch theo hướng OUT. Khi thiết bị trả về dữ liệu, giao dịch tương ứng thường theo hướng IN.
Phần Data hiển thị dữ liệu được truyền trong giao dịch. Dữ liệu có thể được hiển thị dưới dạng hexadecimal hoặc các dạng biểu diễn khác tùy phần mềm.
Ví dụ:
48 65 6C 6C 6F
Có thể chuyển đổi sang ASCII để kiểm tra xem dữ liệu có chứa chuỗi ký tự dễ đọc hay không.
Tuy nhiên, không phải mọi dữ liệu USB đều là văn bản. Nhiều thiết bị sử dụng dữ liệu nhị phân hoặc giao thức riêng, vì vậy không nên kết luận rằng dữ liệu "không đọc được" đồng nghĩa với việc giao tiếp bị lỗi.
Status là trường rất quan trọng khi tìm lỗi.
Nếu giao dịch có trạng thái thành công, quá trình giao tiếp có thể đã diễn ra bình thường. Ngược lại, các trạng thái lỗi hoặc thất bại cần được chú ý và đối chiếu với các request liên quan.
Khi phát hiện lỗi, nên xem request ngay trước đó, request gây lỗi và phản hồi tiếp theo để xác định nguyên nhân.
Trường Length/Size cho biết kích thước dữ liệu được truyền.
Việc so sánh kích thước dữ liệu giữa các request có thể giúp phát hiện những trường hợp bất thường, chẳng hạn:
Không nên chỉ xem một packet riêng lẻ. Hãy đọc một chuỗi giao dịch liên tiếp để hiểu toàn bộ quá trình.
Ví dụ:
Request → Device Response → Data IN/OUT → Status
Cách đọc theo chuỗi giúp bạn biết máy tính gửi yêu cầu gì, thiết bị phản hồi ra sao và giao tiếp kết thúc thành công hay thất bại.
Nếu có hàng nghìn hoặc hàng triệu dòng capture, hãy sử dụng Filter để giảm lượng dữ liệu.
Có thể lọc theo:
Sau khi lọc, việc tìm ra giao dịch liên quan đến lỗi sẽ dễ dàng hơn rất nhiều.
Giả sử USB Analyzer hiển thị:
Time | Direction | Endpoint | Data | Status |
10:25:01 | OUT | EP01 | 01 02 03 | Success |
10:25:01 | IN | EP81 | AA BB CC | Success |
10:25:02 | OUT | EP01 | 04 05 06 | Error |
Có thể hiểu đơn giản:
Bạn có thể áp dụng trình tự:
Xác định thời điểm → Xem Request → Kiểm tra Endpoint → Xác định Direction → Đọc Data → Kiểm tra Status → So sánh Length → Đọc chuỗi giao tiếp → Xác định bất thường.
Lưu ý: Dữ liệu capture USB có thể rất phức tạp và phụ thuộc vào loại thiết bị cũng như giao thức riêng của nhà sản xuất. Vì vậy, nếu mục tiêu là debug chuyên sâu, nên kết hợp dữ liệu từ USB Analyzer với USB specification, tài liệu giao thức của thiết bị và thông tin driver/firmware để đưa ra kết luận chính xác.

Control Transfer được sử dụng để thiết lập, cấu hình và điều khiển thiết bị USB. Đây thường là loại transfer xuất hiện trong quá trình thiết bị được kết nối hoặc khởi tạo.
Khi phân tích bằng USB Analyzer, nên chú ý:
Control Transfer thường giúp xác định máy tính đang gửi yêu cầu gì đến thiết bị và thiết bị phản hồi như thế nào.
Ví dụ: Khi cắm một thiết bị USB, hệ thống có thể gửi các request để lấy thông tin nhận dạng và cấu hình thiết bị.
Bulk Transfer được sử dụng để truyền lượng dữ liệu tương đối lớn và ưu tiên độ chính xác hơn thời gian phản hồi cố định.
Loại transfer này thường gặp ở:
Khi phân tích Bulk Transfer, nên chú ý:
Nếu quá trình truyền file gặp lỗi, việc theo dõi Bulk Transfer có thể giúp xác định dữ liệu được gửi đi hay nhận về tại thời điểm nào xảy ra vấn đề.
Interrupt Transfer thường được sử dụng với các thiết bị cần trao đổi dữ liệu định kỳ hoặc phản hồi nhanh, chẳng hạn:
Trong USB Analyzer, hãy chú ý đến:
Ví dụ, khi nhấn một phím trên bàn phím USB, dữ liệu liên quan đến thao tác này có thể được truyền thông qua Interrupt Transfer.
Isochronous Transfer được thiết kế cho dữ liệu cần truyền theo thời gian thực và duy trì tốc độ truyền ổn định. Loại transfer này thường xuất hiện trong các thiết bị xử lý dữ liệu thời gian thực như:
Khi phân tích, nên tập trung vào:
Với loại transfer này, tính liên tục và thời gian truyền thường quan trọng hơn việc truyền lại dữ liệu bị lỗi.
Loại Transfer | Mục đích chính | Ví dụ thiết bị | Điểm cần chú ý |
Control | Điều khiển, cấu hình | Hầu hết thiết bị USB | Request, Endpoint 0, Status |
Bulk | Truyền dữ liệu lớn | USB Flash, máy in | Data, Endpoint, IN/OUT |
Interrupt | Dữ liệu định kỳ, phản hồi nhanh | Chuột, bàn phím | Interval, Data, Endpoint |
Isochronous | Dữ liệu thời gian thực | Webcam, audio | Timing, packet, bandwidth |
Khi mở một phiên capture, bạn có thể thực hiện theo trình tự:
Chọn thiết bị → xem Endpoint → xác định loại Transfer → kiểm tra Direction → xem Data → kiểm tra Status → đối chiếu thời gian → phân tích chuỗi giao tiếp.
Không nên chỉ dựa vào một packet riêng lẻ để kết luận. Hãy quan sát nhiều giao dịch liên tiếp để hiểu thiết bị đang thực hiện quy trình giao tiếp nào.
Giả sử bạn phân tích một USB Flash Drive:
Control Transfer → máy tính nhận diện và cấu hình thiết bị → Bulk OUT → máy tính gửi dữ liệu → Bulk IN → thiết bị trả dữ liệu → kiểm tra Status để xác định giao dịch thành công hay thất bại.
Nếu xuất hiện lỗi trong quá trình sao chép file, bạn có thể lọc các Bulk Transfer và tập trung vào những giao dịch xảy ra ngay trước thời điểm lỗi.
Khi cắm thiết bị USB vào máy tính, quá trình Enumeration thường diễn ra theo trình tự cơ bản:
Kết nối thiết bị → USB Reset → xác định Device Descriptor → cấp địa chỉ → đọc Descriptor → đọc Configuration Descriptor → cấu hình thiết bị → thiết bị sẵn sàng hoạt động.
USB Analyzer có thể capture các giao dịch xảy ra trong quá trình này để người dùng phân tích từng bước.
Trước khi bắt đầu, cần chuẩn bị:
Nếu muốn phân tích từ đầu quá trình Enumeration, nên ngắt kết nối thiết bị trước khi bắt đầu Capture.
Mở USB Analyzer và chọn chức năng Start Capture.
Sau đó cắm thiết bị USB vào máy tính. Khi đó phần mềm sẽ bắt đầu ghi lại các giao dịch phát sinh trong quá trình thiết bị được nhận diện.
Sau khi Windows hoàn tất quá trình nhận diện, có thể dừng capture bằng Stop Capture.
Trong dữ liệu capture, bước đầu tiên cần chú ý là USB Reset.
USB Reset giúp host đưa thiết bị về trạng thái ban đầu để bắt đầu quá trình Enumeration.
Khi phân tích, hãy kiểm tra:
Nếu không thấy quá trình giao tiếp tiếp tục sau Reset, đây có thể là dấu hiệu cần kiểm tra sâu hơn về cáp, cổng USB, thiết bị hoặc driver.
Sau khi thiết bị được reset, host sẽ gửi các Control Transfer để lấy thông tin nhận dạng thiết bị.
Một số trường quan trọng trong Device Descriptor gồm:
VID và PID đặc biệt hữu ích khi xác định thiết bị nào đang được phân tích.
Sau khi lấy được thông tin ban đầu, host sẽ cấp cho thiết bị một USB address.
Trong capture, hãy theo dõi các Control Transfer liên quan đến việc thiết lập địa chỉ.
Nếu quá trình này thất bại, thiết bị có thể không thể tiếp tục Enumeration và Windows có thể không nhận diện thiết bị đúng cách.
Tiếp theo, host sẽ đọc Configuration Descriptor để biết thiết bị có cấu hình và các interface như thế nào.
Khi phân tích, nên chú ý:
Đây là bước quan trọng để biết thiết bị cung cấp những Interface và Endpoint nào.
Sau Configuration Descriptor, hãy xem các Interface Descriptor và Endpoint Descriptor.
Endpoint có thể sử dụng các loại transfer như:
Ví dụ, một thiết bị truyền dữ liệu lớn có thể sử dụng Bulk Transfer, trong khi thiết bị HID như bàn phím hoặc chuột thường sử dụng Interrupt Transfer.
Một số thiết bị cung cấp thêm String Descriptor, chẳng hạn:
Các thông tin này giúp xác định chính xác thiết bị và hỗ trợ quá trình debug khi có nhiều thiết bị cùng loại.
Đây là bước quan trọng khi tìm lỗi Enumeration.
Hãy kiểm tra từng Control Transfer xem có:
Nếu một request thất bại, hãy xem xét các giao dịch ngay trước và sau nó để xác định Enumeration bị dừng ở bước nào.
Một phiên Enumeration đơn giản có thể được hình dung:
USB Reset ↓ Get Device Descriptor ↓ Set Address ↓ Get Device Descriptor đầy đủ ↓ Get Configuration Descriptor ↓ Get String Descriptor ↓ Set Configuration ↓ Thiết bị sẵn sàng hoạt động
Nếu quá trình dừng tại Get Device Descriptor, cần tập trung kiểm tra phản hồi của thiết bị ở request này.
Nếu Device Descriptor hoạt động nhưng lỗi ở Configuration Descriptor, có thể tiếp tục kiểm tra cấu hình, interface hoặc endpoint mà thiết bị cung cấp.
Khi phân tích một thiết bị không được Windows nhận diện, có thể thực hiện theo quy trình:
Capture từ lúc cắm USB → tìm USB Reset → kiểm tra Device Descriptor → kiểm tra Set Address → kiểm tra Configuration Descriptor → kiểm tra Interface/Endpoint → xem Status/Error.
Điểm quan trọng là xác định chính xác giao dịch đầu tiên bị lỗi thay vì đọc toàn bộ capture một cách thủ công.
Capture → Chọn thiết bị → Lọc VID/PID → Lọc Endpoint → Lọc Transfer → Lọc Direction → Lọc Status → Tìm kiếm Request/Data → Phân tích giao dịch lỗi.
Nếu máy tính đang kết nối nhiều thiết bị USB, hãy ưu tiên lọc theo thiết bị cần phân tích.
Bạn có thể xác định thiết bị dựa trên các thông tin như:
Sau khi lọc, USB Analyzer chỉ hiển thị các giao dịch liên quan, giúp giảm đáng kể lượng dữ liệu cần đọc.
Endpoint là tiêu chí hữu ích khi muốn tập trung vào một kênh giao tiếp cụ thể.
Ví dụ:
Nếu đang debug một Endpoint cụ thể, hãy lọc theo Endpoint đó để dễ phát hiện các request hoặc packet bất thường.
Có thể lọc dữ liệu theo 4 loại transfer chính:
Ví dụ, nếu đang kiểm tra lỗi truyền file trên USB, có thể tập trung vào Bulk Transfer.
Sử dụng trường Direction để phân biệt:
Việc lọc theo hướng giúp xác định lỗi nằm ở quá trình gửi dữ liệu hay nhận dữ liệu.
Khi mục tiêu là tìm lỗi, đây thường là cách lọc hiệu quả nhất.
Tập trung vào các giao dịch có trạng thái bất thường như:
Sau đó kiểm tra các request xuất hiện ngay trước và sau giao dịch lỗi để tìm nguyên nhân.
VID và PID giúp xác định thiết bị USB cụ thể.
Ví dụ, nếu capture chứa dữ liệu từ nhiều thiết bị, bạn có thể tìm kiếm VID/PID của thiết bị cần phân tích để nhanh chóng xác định các giao dịch liên quan.
Nếu đang debug quá trình Enumeration hoặc giao tiếp điều khiển, có thể tìm kiếm các request cụ thể như:
Cách này đặc biệt hữu ích khi muốn xác định thiết bị dừng hoặc phát sinh lỗi ở bước nào.
Một số USB Analyzer cho phép tìm kiếm chuỗi dữ liệu hoặc giá trị hexadecimal trong capture.
Ví dụ:
48 65 6C 6C 6F
Bạn có thể tìm chuỗi này để xác định những packet chứa dữ liệu tương ứng.
Tuy nhiên, không phải thiết bị USB nào cũng truyền dữ liệu ở dạng văn bản. Nhiều thiết bị sử dụng dữ liệu nhị phân hoặc giao thức riêng, vì vậy cần hiểu cấu trúc dữ liệu của thiết bị trước khi đưa ra kết luận.
Nếu biết chính xác thời điểm xảy ra lỗi, hãy giới hạn dữ liệu theo Timestamp.
Ví dụ:
08:30:10 → 08:30:15
Thay vì phân tích toàn bộ phiên capture, bạn chỉ cần tập trung vào khoảng thời gian thiết bị xảy ra sự cố.
Để phân tích hiệu quả hơn, nên kết hợp nhiều tiêu chí.
Ví dụ:
Thiết bị USB + Endpoint 01 + Bulk Transfer + Direction OUT + Status Error
Cách lọc này giúp loại bỏ phần lớn dữ liệu không liên quan và chỉ giữ lại những giao dịch đáng chú ý.
Giả sử USB Flash Drive không thể sao chép file.
Bạn có thể thực hiện:
Bước 1: Capture toàn bộ quá trình sao chép. Bước 2: Lọc theo thiết bị USB cần kiểm tra. Bước 3: Lọc Bulk Transfer. Bước 4: Kiểm tra Direction IN/OUT. Bước 5: Lọc các giao dịch có Status/Error. Bước 6: Xem request ngay trước thời điểm lỗi. Bước 7: Kiểm tra Data, Endpoint và Timestamp để xác định nguyên nhân.
Có thể ghi nhớ quy trình đơn giản:
Xác định lỗi → Start Capture → Tái hiện lỗi → Stop Capture → Xác định Timestamp → Lọc dữ liệu → Kiểm tra Status → Kiểm tra Request/Endpoint → Phân tích Data → Khoanh vùng nguyên nhân.
Trước khi capture, cần xác định rõ thiết bị đang gặp vấn đề gì, chẳng hạn:
Việc xác định triệu chứng giúp bạn biết cần tập trung vào phần nào trong dữ liệu capture.
Mở USB Analyzer và chọn Start Capture trước khi thực hiện thao tác gây lỗi.
Nếu đang kiểm tra lỗi nhận diện thiết bị, nên bắt đầu capture trước khi cắm USB để ghi lại toàn bộ quá trình Enumeration.
Thực hiện chính xác thao tác khiến lỗi xuất hiện.
Ví dụ:
Start Capture → cắm USB → Windows nhận diện → mở thiết bị → thực hiện thao tác → lỗi xuất hiện → Stop Capture.
Việc tái hiện lỗi giúp USB Analyzer ghi lại chính xác các giao dịch xảy ra tại thời điểm sự cố.
Sau khi Stop Capture, tìm Timestamp tương ứng với thời điểm lỗi xuất hiện.
Không cần phân tích toàn bộ phiên capture ngay lập tức. Hãy tập trung vào các giao dịch xảy ra ngay trước, trong và sau thời điểm lỗi.
Đây là một trong những thông tin quan trọng nhất khi tìm lỗi.
Tìm các giao dịch có trạng thái bất thường như:
Nếu một request thất bại, hãy xem các giao dịch trước đó để xác định request nào đã dẫn đến lỗi.
Xem request gây lỗi đang thực hiện chức năng gì.
Ví dụ, trong quá trình Enumeration, có thể kiểm tra các request liên quan đến:
Nếu một request cụ thể liên tục thất bại, đây có thể là vị trí quan trọng để tiếp tục điều tra.
Sau khi xác định request hoặc transfer lỗi, kiểm tra Endpoint liên quan.
Chú ý:
Nếu nhiều lỗi liên tục xuất hiện trên cùng một Endpoint, cần kiểm tra thêm thiết bị, firmware hoặc driver liên quan.
Xác định lỗi xảy ra trên loại Transfer nào:
Transfer | Khi nào cần chú ý? |
Control | Lỗi nhận diện, cấu hình, Enumeration |
Bulk | Lỗi truyền dữ liệu lớn, đọc/ghi |
Interrupt | Lỗi bàn phím, chuột, HID hoặc thiết bị phản hồi định kỳ |
Isochronous | Lỗi âm thanh, video hoặc dữ liệu thời gian thực |
Ví dụ, nếu USB Flash không thể sao chép dữ liệu, nên tập trung kiểm tra các Bulk Transfer.
Xem phần Data của request hoặc packet lỗi.
Có thể kiểm tra:
Nếu thiết bị sử dụng giao thức riêng, cần đối chiếu dữ liệu capture với tài liệu kỹ thuật của nhà sản xuất.
Nếu capture có quá nhiều dữ liệu, sử dụng Filter để thu hẹp phạm vi.
Có thể lọc theo:
Ví dụ:
Thiết bị → Bulk Transfer → Endpoint → Error
Cách này giúp nhanh chóng tìm ra các giao dịch đáng chú ý.
Một cách hiệu quả để tìm nguyên nhân là so sánh:
Giao dịch hoạt động bình thường ↔ Giao dịch xảy ra lỗi.
Hãy xem sự khác biệt về:
Nếu cùng một thao tác nhưng lần thành công và lần thất bại có sự khác biệt rõ ràng, đây có thể là manh mối quan trọng.
Sau khi phân tích dữ liệu, có thể chia nguyên nhân thành một số nhóm:
Lỗi phần mềm/driver: Request không được xử lý đúng hoặc driver không phản hồi như mong đợi.
Lỗi thiết bị/firmware: Thiết bị trả về dữ liệu không hợp lệ hoặc không phản hồi request.
Lỗi kết nối: Cáp USB, cổng USB hoặc nguồn điện không ổn định.
Lỗi giao tiếp: Packet, Endpoint hoặc quá trình truyền dữ liệu xảy ra bất thường.
Có thể thực hiện:
Start Capture → cắm USB → tìm USB Reset → kiểm tra Device Descriptor → kiểm tra Set Address → kiểm tra Configuration Descriptor → tìm request bị lỗi → xem Status → kiểm tra Endpoint và Data.
Nếu quá trình dừng ở một request cụ thể, hãy tập trung phân tích request đó thay vì toàn bộ capture.
Có thể thực hiện theo trình tự:
Stop Capture → Save Capture gốc → Filter dữ liệu → Export nếu cần → Đặt tên file → Ghi chú lỗi → Lưu trữ và chia sẻ.
Sau khi đã thu thập đủ dữ liệu, nhấn Stop Capture để dừng ghi.
Nên dừng capture ngay sau khi tái hiện được lỗi để tránh tạo ra một lượng dữ liệu quá lớn.
Trên thanh menu, chọn File → Save hoặc chức năng Save Capture tương ứng.
Chọn thư mục muốn lưu và đặt tên file dễ nhận biết, ví dụ:
USB_Flash_Loi_Sao_Chep_2026-08-18
Nên đặt tên theo thiết bị + vấn đề + thời gian để thuận tiện tìm kiếm sau này.
Nếu USB Analyzer hỗ trợ định dạng riêng để lưu phiên capture, nên giữ lại file gốc trước khi thực hiện các thao tác lọc hoặc phân tích.
File capture gốc có giá trị khi cần:
Một số phiên bản USB Analyzer cung cấp chức năng Export để chuyển dữ liệu sang các định dạng dễ đọc hoặc xử lý hơn.
Thông thường có thể tìm trong:
File → Export
hoặc:
File → Save As / Export Data
Tùy phần mềm, các định dạng xuất có thể bao gồm CSV, TXT, HTML hoặc các định dạng capture chuyên dụng.
Nếu phần mềm hỗ trợ CSV, đây là lựa chọn phù hợp khi cần xử lý dữ liệu bằng Excel hoặc các công cụ phân tích dữ liệu khác.
Dữ liệu có thể được sử dụng để:
TXT phù hợp khi cần lưu dữ liệu ở dạng văn bản đơn giản hoặc gửi nhanh cho người khác.
HTML thuận tiện nếu muốn tạo báo cáo có cấu trúc và xem trực tiếp bằng trình duyệt, trong trường hợp phiên bản USB Analyzer hỗ trợ định dạng này.
Nếu đã lọc được những giao dịch quan trọng, có thể lưu riêng kết quả này nếu phần mềm hỗ trợ.
Ví dụ:
Capture gốc: toàn bộ hoạt động USB. Capture đã lọc: chỉ các Bulk Transfer có lỗi.
Tuy nhiên, không nên xóa file capture gốc, vì dữ liệu đã lọc có thể bỏ sót thông tin cần thiết cho việc phân tích sau này.
Bên cạnh file capture, nên ghi lại một số thông tin:
Ví dụ:
Thiết bị: USB Flash Lỗi: Không sao chép được file Thời điểm: 10:25:15 Phát hiện: Bulk Transfer xuất hiện Error
Những thông tin này giúp kỹ thuật viên dễ dàng hiểu bối cảnh của file capture.
Khi cần gửi dữ liệu cho nhà phát triển hoặc bộ phận kỹ thuật, nên gửi:
File capture gốc + file đã lọc (nếu có) + mô tả lỗi + thông tin môi trường.
Không nên chỉ gửi ảnh chụp màn hình vì ảnh thường không chứa đầy đủ thông tin của phiên giao tiếp.

Bạn có thể áp dụng quy trình:
Xác định mục tiêu → Start Capture → Tái hiện lỗi → Stop Capture → Lọc dữ liệu → Kiểm tra Status → Xem Request/Endpoint → Phân tích Data → So sánh với phiên bình thường → Khoanh vùng nguyên nhân → Lưu kết quả.
Trước khi bắt đầu, hãy xác định bạn muốn tìm hiểu vấn đề gì:
Mục tiêu càng rõ thì việc capture và phân tích càng nhanh.
Không nên ghi dữ liệu liên tục trong thời gian quá dài nếu không cần thiết. Hãy:
Start Capture → thực hiện đúng thao tác cần kiểm tra → tái hiện lỗi → Stop Capture.
Một phiên capture ngắn thường dễ phân tích hơn nhiều so với hàng triệu giao dịch không liên quan.
Nếu đang tìm lỗi, hãy bắt đầu capture trước khi thực hiện thao tác gây lỗi.
Ví dụ, khi USB không được nhận diện:
Start Capture → cắm USB → chờ Windows nhận diện → quan sát lỗi → Stop Capture.
Cách này giúp ghi lại toàn bộ quá trình từ lúc thiết bị bắt đầu giao tiếp với máy tính.
Đây là một trong những mẹo quan trọng nhất.
Có thể lọc theo:
Ví dụ, nếu đang kiểm tra lỗi sao chép file, hãy tập trung vào Bulk Transfer thay vì đọc toàn bộ USB Traffic.
Khi capture có hàng nghìn dòng, hãy ưu tiên tìm các giao dịch có Error, Failed, Timeout, Stall hoặc No Response.
Sau đó xem:
Giao dịch lỗi → request trước đó → request tiếp theo → dữ liệu liên quan.
Cách này giúp nhanh chóng khoanh vùng vấn đề.
Không nên chỉ nhìn một packet riêng lẻ.
Hãy phân tích theo trình tự:
Request → Response → Data → Status
Điều này giúp hiểu được máy tính gửi yêu cầu gì, thiết bị phản hồi thế nào và giao dịch kết thúc ra sao.
Timestamp giúp xác định chính xác thời điểm xảy ra sự cố.
Nếu người dùng biết lỗi xuất hiện lúc 10:25:15, hãy tập trung vào khoảng thời gian ngay trước và sau thời điểm đó thay vì phân tích toàn bộ phiên capture.
Nếu có thể, hãy tạo hai phiên capture:
Sau đó so sánh:
Sự khác biệt giữa hai phiên thường cung cấp manh mối rất hữu ích để tìm nguyên nhân.
Nếu máy tính không nhận thiết bị, hãy ưu tiên phân tích quá trình USB Enumeration:
USB Reset → Device Descriptor → Set Address → Configuration Descriptor → Interface → Endpoint → Set Configuration.
Xác định bước đầu tiên xảy ra lỗi sẽ giúp khoanh vùng vấn đề nhanh hơn.
Nên phân biệt:
Khi biết loại transfer, bạn sẽ dễ xác định khu vực cần tập trung khi phân tích.
Nếu phát hiện lỗi, hãy kiểm tra Endpoint liên quan.
Đặc biệt cần chú ý:
Nếu lỗi liên tục xuất hiện tại một Endpoint, đây có thể là dấu hiệu cần kiểm tra sâu hơn về driver, firmware hoặc thiết bị.
Sau mỗi lần phân tích, nên lưu file capture gốc trước khi lọc hoặc chỉnh sửa dữ liệu.
Ngoài ra, nên ghi chú:
Điều này rất hữu ích khi cần phân tích lại hoặc gửi dữ liệu cho kỹ thuật viên.
USB Analyzer cung cấp dữ liệu giao tiếp nhưng không phải lúc nào cũng tự động giải thích ý nghĩa của từng byte hoặc request.
Khi phân tích chuyên sâu, nên kết hợp với:
Một giao dịch có Error không nhất thiết có nghĩa thiết bị bị hỏng. Lỗi có thể xuất phát từ driver, firmware, phần mềm, cáp USB, cổng USB hoặc chính thiết bị.
Do đó, nên xác định chuỗi sự kiện dẫn đến lỗi trước khi đưa ra kết luận.
Nếu bạn đang tìm phần mềm USB Analyzer bản quyền chính hãng để phục vụ phân tích USB Traffic, debug thiết bị, kiểm tra USB Enumeration hoặc xử lý các lỗi giao tiếp USB, Tri Thức Software cung cấp giải pháp bản quyền phù hợp cho cá nhân, kỹ thuật viên và doanh nghiệp.