cô lập ứng dụng và kiểm tra những gói tin đang gửi qua internet


18

Tôi không chắc rằng loại câu hỏi này phù hợp ở đây, vì vậy hãy tha thứ cho tôi nếu tôi sai.

Đây là một vấn đề: Tôi muốn xem những gì một chương trình cụ thể đang gửi tới internet, nhưng vấn đề là trên máy tính có rất nhiều ứng dụng và dịch vụ đang sử dụng internet. Vì vậy, không thể tìm ra gói tin nào được gửi bởi một ứng dụng mà tôi quan tâm.

Một cách là cố gắng đóng tất cả các ứng dụng khác, nhưng điều này là không thể.

Vì vậy, có cách nào để cô lập một ứng dụng cụ thể? Tôi đang làm việc trên windows7 và chụp các gói với wireshark

Câu trả lời:


13

Cho rằng bạn đang sử dụng Wireshark, số cổng của bạn không tự động được phân giải thành tên ứng dụng, do đó bạn sẽ cần phải làm thêm một chút để tinh chỉnh thông tin bạn đang tìm kiếm. Mọi ứng dụng sử dụng TCP / IP để liên lạc qua mạng sẽ sử dụng các cổng, để ngăn xếp mạng biết nơi phân phối các phân đoạn đến (tôi muốn gọi nó là địa chỉ ứng dụng).

Các máy khách kết nối với ứng dụng máy chủ trên một cổng cụ thể sẽ được cấp phát động một số cổng từ một phạm vi động. Vì vậy, trước tiên bạn cần tìm hiểu những kết nối TCP / UDP nào mà ứng dụng của bạn đã mở:

netstat -b

tại dòng lệnh sẽ cung cấp cho bạn một danh sách các kết nối với tên của tệp thực thi đã tạo kết nối. Mỗi tệp thực thi có một hoặc nhiều kết nối được liệt kê là 127.0.0.1:xxxxx, trong đó X là số cổng cục bộ cho kết nối.

Bây giờ trong wireshark, bạn cần yêu cầu nó hiển thị các gói có nguồn gốc từ hoặc được định sẵn cho cổng đó bằng cách sử dụng một hoặc nhiều bộ lọc sau:

tcp.port == xxxxx hoặc là udp.port == xxxxx

Thêm một bổ sung or tcp.port == xxxxxcho mỗi kết nối bạn muốn hiển thị.

Điều này sẽ cho phép bạn xem tất cả lưu lượng truy cập cho các kết nối mà ứng dụng của bạn đã mở và Wireshark sẽ không chỉ bao gồm các phân đoạn TCP / UDP thô mà còn bao gồm các giao thức lớp ứng dụng khác nhau (ví dụ: HTTP) cũng sử dụng các số cổng đó.

Nếu ứng dụng của bạn dường như đang liên lạc với chỉ một máy chủ, bạn có thể sử dụng địa chỉ IP của máy chủ đó để lọc theo:

ip.addr == x.x.x.x

Vấn đề lớn nhất với các socket (sử dụng các cổng không được giám sát) là một socket được mở và đóng bởi một ứng dụng có bản chất rất năng động. Khi bạn chạy lệnh netstat -b, nó sẽ cung cấp cho bạn các kết quả khác nhau cho mỗi ứng dụng được liệt kê ngay cả khi bạn chạy nó trong khoảng thời gian 5 giây. Vì vậy, rất khó để nhận thấy tất cả các số cổng được phân bổ cho ứng dụng của tôi. Tôi đã quan sát tương tự cho ứng dụng của mình trong công cụ "TCPView" (bộ sysIternals). Tôi thấy rằng trong khoảng thời gian 10 giây, khoảng 15 kết nối ổ cắm TCP đã được mở bởi ứng dụng của tôi và nhiều người trong số họ cũng đã bị giết
RBT

1
Đây là nơi Microsoft Network Monitor có ích, bởi vì nó có thể theo dõi quá trình giao tiếp mạng bắt nguồn từ đó và nhóm nó theo quy trình đó. Tuy nhiên, vì điều này đã được viết, một phiên bản chính mới của Wireshark đã được phát hành. Nó có thể là trường hợp một nhóm như vậy cũng có thể sử dụng Wireshark, nhưng tôi đã không sử dụng nó trong một thời gian.
John

7

Nếu bạn sử dụng Trình giám sát quy trình từ Microsoft , bạn có thể thay đổi các bộ lọc để chỉ hiển thị thông tin liên lạc mạng từ các quy trình cụ thể. Nó không cung cấp cho bạn nội dung của các gói, nhưng nó hiển thị những gì máy chủ ứng dụng đang nói đến.


1
? Anh muốn xem các gói.
Pacerier

1

Microsoft Network Monitor sẽ cho bạn thấy quy trình chịu trách nhiệm về lưu lượng.



0

Sử dụng Trình giám sát quy trình nội bộ hệ thống để lấy số quy trình ứng dụng và kiểm tra các công cụ nội bộ hệ thống khác tại:

https://docs.microsoft.com/en-us/sysiternals/

Mở cmd.exe và chạy, hiển thị các tùy chọn dòng lệnh netstat, netstat /? .

Bây giờ hãy thử netstat -bo 1 >> c: /test.log. Điều này sẽ cho phép bạn tìm dữ liệu kết nối mạng ứng dụng cụ thể của mình trong một tệp được cập nhật liên tục.

Hãy nhớ rằng, bạn cần dừng netstat -bo >> c: /test.log từ ghi vào nhật ký bằng cách nhập ctl-C trong cửa sổ cmd.


-2

Chỉ cần thay thế My_Applicationbằng ứng dụng của bạn PNAMEhoặcPID

netstat - chương trình | grep "Ứng dụng của tôi"

Tôi không kiểm tra nó trên windows 7. nhưng nó hoạt động trên Linux.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.