Ghi lại lưu lượng truy cập máy chủ cục bộ Wireshark [đã đóng]


117

Tôi đã viết một ứng dụng máy chủ đơn giản bằng C chạy trên localhost. Làm thế nào để nắm bắt lưu lượng truy cập localhost bằng Wireshark?


3
Trong khi cũ, tôi vẫn bỏ phiếu để mở lại vì lý do nhất quán. Đây là một câu hỏi hợp lệ và IMHO đủ hẹp (vấn đề cụ thể là "localhost")
Marcel

Câu trả lời:


69

Nếu bạn đang sử dụng Windows thì không thể - hãy đọc phần bên dưới. Thay vào đó, bạn có thể sử dụng địa chỉ cục bộ của máy và sau đó bạn sẽ có thể chụp được nội dung. Xem CaptureSetup / Loopback .

Tóm tắt: bạn có thể chụp trên giao diện loopback trên Linux, trên nhiều BSD khác nhau bao gồm Mac OS X và Digital / Tru64 UNIX, và bạn có thể thực hiện trên Irix và AIX, nhưng bạn chắc chắn không thể làm như vậy trên Solaris, HP -UX ... .

Mặc dù trang đề cập rằng điều này không thể thực hiện được trên Windows chỉ sử dụng Wireshark, nhưng bạn thực sự có thể ghi lại bằng cách sử dụng một giải pháp khác như đã đề cập trong một câu trả lời khác .


CHỈNH SỬA: Khoảng 3 năm sau, câu trả lời này không còn hoàn toàn đúng nữa. Trang được liên kết chứa các hướng dẫn để nắm bắt trên giao diện lặp lại .


Câu trả lời của feuGene thực sự hoạt động.
GWLlosa

@GWLlosa Yup. Bạn có thể sử dụng địa chỉ cục bộ của máy mình .
cnicutar

7
Tôi thấy chỉ cần đặt IP của riêng bạn vào wirehark thay vì loopback là không đủ; thêm tuyến đường là cần thiết để nó hoạt động trong tình huống của tôi.
GWLlosa

1
Cảm ơn. Trên OS X, giao diện lặp lại là lo0. Có vẻ như việc chọn en1 hoặc bất cứ thứ gì mặc định của bạn là không hoạt động.
sudo

Để thiết lập bộ điều hợp lặp lại, tôi thấy video youtube này hữu ích. youtube.com/watch?v=KsWICPPO_N8
developer747

51

Vì một số lý do, không có câu trả lời nào trước đây phù hợp với trường hợp của tôi, vì vậy tôi sẽ đăng một cái gì đó có tác dụng. Có một viên ngọc nhỏ gọi là RawCap có thể nắm bắt lưu lượng máy chủ cục bộ trên Windows. Ưu điểm:

  • chỉ 17 kB!
  • không cần thư viện bên ngoài
  • cực kỳ đơn giản để sử dụng (chỉ cần khởi động nó, chọn giao diện loopback và tệp đích và đó là tất cả)

Sau khi lưu lượng truy cập đã được nắm bắt, bạn có thể mở nó và kiểm tra trong Wireshark bình thường. Điểm bất lợi duy nhất mà tôi thấy là bạn không thể đặt bộ lọc, tức là bạn phải nắm bắt tất cả lưu lượng localhost có thể rất nặng. Cũng có một lỗi liên quan đến Windows XP SP 3.

Vài lời khuyên khác:


1
không cần thiết lập và khá đơn giản.
vibhu

Và bạn có thể yêu cầu Wireshark đọc đầu ra của RawCap ngay lập tức, giúp bạn chụp trực tiếp. Xem câu trả lời của tôi để biết chi tiết.
Richard Kiefer

48

Trên nền tảng Windows, cũng có thể nắm bắt lưu lượng máy chủ cục bộ bằng cách sử dụng Wireshark. Những gì bạn cần làm là cài đặt bộ điều hợp loopback của Microsoft , sau đó tìm kiếm nó.


ciphor, bạn đã làm điều này thành công chưa? điều này mâu thuẫn trực tiếp với câu trả lời của cnicutar.
feuGene

vâng, tôi đã thực hiện thành công.
ciphor

Và làm thế nào? Không làm cho nó hoạt động.
schlamar

18
Tôi đã làm cho điều này hoạt động tương tự trên Win 7. Device Manager -> Add Legacy Hardware -> Tôi sẽ chọn -> Networking -> Microsoft -> Loopback adapter. Sau khi nó được cài đặt, hãy định cấu hình nó với một địa chỉ IP của lựa chọn của bạn. Sau đó: cài đặt lại Wirehark để nó sẽ cài đặt lại trình điều khiển chụp trên giao diện mới - điều này phải được thực hiện bất kỳ lúc nào bạn thêm giao diện mới vào windows, loopback hoặc real.
antiduh

4
Đã làm theo hướng dẫn @antiduh trên Win 7 và trong khi tôi thấy một số truy vấn netbios, tôi không thấy lưu lượng truy cập HTTP trên localhost.
Carlos Rendon,

26

Tôi chưa thực sự thử điều này, nhưng câu trả lời này từ web nghe có vẻ đầy hứa hẹn:

Wireshark thực sự không thể nắm bắt các gói cục bộ trên windows XP do bản chất của ngăn xếp TCP cửa sổ. Khi các gói được gửi và nhận trên cùng một máy, chúng dường như không vượt qua ranh giới mạng mà wirehark giám sát.

Tuy nhiên, có một cách để giải quyết vấn đề này, bạn có thể định tuyến lưu lượng cục bộ ra ngoài qua cổng mạng (bộ định tuyến) bằng cách thiết lập một tuyến tĩnh (tạm thời) trên máy windows XP của bạn.

Giả sử địa chỉ IP XP của bạn là 192.168.0.2 và địa chỉ cổng vào (bộ định tuyến) của bạn là 192.168.0.1, bạn có thể chạy lệnh sau từ dòng lệnh windows XP để buộc tất cả lưu lượng cục bộ ra và trở lại qua ranh giới mạng, do đó, wirehark có thể theo dõi dữ liệu (lưu ý rằng wirehark sẽ báo cáo các gói hai lần trong trường hợp này, một lần khi chúng rời khỏi máy tính của bạn và một lần khi chúng quay trở lại).

route add 192.168.0.2 mask 255.255.255.255 192.168.0.1 metric 1

http://forums.whirlpool.net.au/archive/1037087 , vừa được truy cập.


6
Tôi đã thử cái này và thấy rằng nó hoạt động rất tốt.
GWLlosa

không hoạt động trên win 7 32bit
vantrung -cuncon

11

Vui lòng thử Npcap: https://github.com/nmap/npcap , nó dựa trên WinPcap và hỗ trợ thu thập lưu lượng lặp lại trên Windows. Npcap là một dự án con của Nmap ( http://nmap.org/ ), vì vậy vui lòng báo cáo bất kỳ vấn đề nào trong danh sách phát triển của Nmap ( http://seclists.org/nmap-dev/ ).


Tùy chọn số 1 từ tài liệu của Starting from Windows Vista: Npcap is an update of WinPcap using NDIS 6 Light-Weight Filter (LWF), done by Yang Luo for Nmap project during Google Summer of Code 2013 and 2015. Npcap has added many features compared to the legacy WinPcap.
Wirehark

Bạn có thể tải xuống trình cài đặt từ đây: nmap.org/npcap
Wayne Phipps

2
Thật tốt khi biết rằng NPcap có một số giới hạn về giấy phép để sử dụng trong môi trường kinh doanh.
Jan Smrčina

10

Bạn có thể xem trực tiếp lưu lượng truy cập lặp lại trong Wireshark bằng cách đọc nó đầu ra của RawCap ngay lập tức. cmaynard mô tả cách tiếp cận khéo léo này tại các diễn đàn Wireshark . Tôi sẽ trích dẫn nó ở đây:

[...] nếu bạn muốn xem lưu lượng truy cập trực tiếp trong Wireshark, bạn vẫn có thể thực hiện bằng cách chạy RawCap từ một dòng lệnh và chạy Wireshark từ một dòng lệnh khác. Giả sử bạn có đuôi của cygwin, điều này có thể được thực hiện bằng cách sử dụng một cái gì đó như sau:

cmd1: RawCap.exe -f 127.0.0.1 dumpfile.pcap

cmd2: tail -c +0 -f dumpfile.pcap | Wireshark.exe -k -i -

Nó yêu cầu đuôi của cygwin và tôi không thể tìm ra cách thực hiện việc này bằng các công cụ có sẵn của Windows. Cách tiếp cận của anh ấy hoạt động rất tốt đối với tôi và cho phép tôi sử dụng tất cả các khả năng lọc của Wiresharks trên lưu lượng truy cập vòng lặp được chụp trực tiếp.


3
Đối với tôi, phần thiết yếu là bắt đầu lệnh cmd thứ hai với một số độ trễ, nếu không Wireshark không thể đọc tệp .pcap. Có lẽ, bởi vì cần phải có một số lưu lượng truy cập được ghi lại trong đó để bắt đầu.
Richard Kiefer

Câu trả lời này nên được chấp nhận (nó đủ để chạy cmd2 từ git bash)
fider

4
Cập nhật : Netresec vừa công bố hôm nay (30 tháng 1 năm 2020) một phiên bản RawCap mới hiện hỗ trợ ghi vào đường dẫn hoặc tới stdout. Vì vậy, cho đến ngày hôm nay, giải pháp được cung cấp ở trên có thể được đơn giản hóa như sau, không tailbắt buộc: RawCap.exe -q 127.0.0.1 - | Wireshark.exe -i - -k Bạn có thể đọc thêm về các tính năng RawCap mới trên trang thông báo RawCap Redux tại đây: netresec.com/?page=Blog&month=2020-01&post=RawCap -Redux
Christopher Maynard

8

Đối với Windows ,

Tuy nhiên, bạn không thể nắm bắt các gói cho Local Loopback trong Wireshark , bạn có thể sử dụng một chương trình rất nhỏ nhưng hữu ích có tên là RawCap ;

RawCap

Chạy RawCap trên dấu nhắc lệnh và chọn Loopback Pseudo-Interface (127.0.0.1), sau đó chỉ cần viết tên của tệp chụp gói ( .pcap )

Một bản demo đơn giản như dưới đây;

C:\Users\Levent\Desktop\rawcap>rawcap
Interfaces:
 0.     169.254.125.51  Local Area Connection* 12       Wireless80211
 1.     192.168.2.254   Wi-Fi   Wireless80211
 2.     169.254.214.165 Ethernet        Ethernet
 3.     192.168.56.1    VirtualBox Host-Only Network    Ethernet
 4.     127.0.0.1       Loopback Pseudo-Interface 1     Loopback
Select interface to sniff [default '0']: 4
Output path or filename [default 'dumpfile.pcap']: test.pcap
Sniffing IP : 127.0.0.1
File        : test.pcap
Packets     : 48^C

6

Bạn không thể chụp lặp lại trên Solaris, HP-UX hoặc Windows, tuy nhiên, bạn có thể dễ dàng khắc phục hạn chế này bằng cách sử dụng một công cụ như RawCap .

RawCap có thể nắm bắt các gói thô trên bất kỳ ip nào bao gồm 127.0.0.1(localhost / loopback). Rawcap cũng có thể tạo một pcaptệp. Bạn có thể mở và phân tích pcaptệp bằng Wireshark .

Xem tại đây để biết chi tiết đầy đủ về cách giám sát localhost bằng RawCap và Wireshark.


2

Có, bạn có thể theo dõi lưu lượng localhost bằng cách sử dụng Npcap Loopback Adapter

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.