Làm cách nào để Fiddler ngừng bỏ qua lưu lượng truy cập vào localhost?


143

Khi sử dụng Fiddler để theo dõi các Yêu cầu & Phản hồi HTTP trong Internet Explorer, nó sẽ bỏ qua tất cả lưu lượng truy cập được chuyển đến http: // localhost .


Tôi nghĩ rằng đây chỉ là một vấn đề trong IE <9, phải không?
Josh Mouch

Hum ... lưu lượng localhost của tôi không bị bỏ qua bởi mặc định và tôi cũng kiểm tra nó với IE 11.
m3nda

Tôi cũng đã phải chuyển từ IIS sang IIS Express
niico

Fiddler từng là công cụ tuyệt vời này, nhưng giờ đây nó chỉ là một cơn ác mộng cấu hình.
Người đàn ông Muffin

Câu trả lời:


100

Để khiến Fiddler nắm bắt lưu lượng truy cập khi bạn gỡ lỗi trên máy chủ cục bộ, sau khi bạn nhấn F5 để bắt đầu gỡ lỗi, hãy thay đổi địa chỉ để localhost có dấu "." sau đó.

Chẳng hạn, bạn bắt đầu gỡ lỗi và bạn có URL sau trong thanh Địa chỉ:

http: // localhost: 49573 / Mặc định.aspx

Thay đổi nó thành:

http://localhost.:49573/Default.aspx

Nhấn enter và Fidder sẽ bắt đầu chọn lưu lượng truy cập của bạn.


3
Ngọt ngào. Thật đơn giản và hiệu quả.
Bradley Mountford

12
hoạt động cho cassini .. không phải là thứ bạn cần sử dụng nếu bạn đang kết nối với một trang web hoặc dịch vụ trên SSL ...
user2058

Đẹp! Hoạt động hoàn hảo - không thể đơn giản hơn.
naraya

1
Tôi không làm việc với tôi bằng cách sử dụng cygwin và curl bằng lệnh sau: curl -X POST -H "application / json" -d '{"name": {"firstName": "eli", "lastName": "kool" }} 'localhost.:61444/Inbound/Catch
Ilia Koulikov

15
WebAPI không hoạt động với localhost. nó nói Yêu cầu xấu - Tên máy chủ không hợp lệ
Pramod Jangam

90

Trang web của Fiddler giải quyết câu hỏi này trực tiếp.

Có một số cách giải quyết được đề xuất, nhưng đơn giản nhất là sử dụng tên máy thay vì "localhost" hoặc "127.0.0.1":

http://machinename/mytestpage.aspx

Không chắc chắn tại sao trang web của Fiddler không đề xuất đề xuất "thêm một khoảng thời gian sau localhost", mà tôi nghĩ là tốt nhất. Điều này đặc biệt đúng trong một số môi trường máy chủ mà tôi làm việc trong đó localhost là thứ duy nhất tôi có thể sử dụng (do điều khiển ActiveX, quyền và không có gì).
Josh Mouch

3
@JoshMouch Vì một số máy chủ web từ chối localhost.làm tên máy chủ không hợp lệ.
Aaron Jensen

3
localhost.machinenamebị từ chối trong trường hợp của tôi.
Người đàn ông Muffin

2
Như đã lưu ý, "localhost." không hoạt động trên nhiều API (hoặc 127.0.0.1). Tôi đã sử dụng sửa đổi " localhost.fiddler " hoạt động hoàn hảo cho tôi.
Vman

43

Câu trả lời đúng là không phải Fiddler bỏ qua lưu lượng truy cập nhắm vào Localhost, mà là hầu hết các ứng dụng được mã hóa cứng để vượt qua proxy (trong đó Fiddler là một) cho các yêu cầu được nhắm mục tiêu đến localhost.

Do đó, các cách giải quyết khác nhau có sẵn: http://fiddler2.com/documentation/Configure-Fiddler/T task / MonitorLocalTraffic


1
kể từ tháng 4 năm 2013: fiddler2.com/documentation/Configure-Fiddler/T task / Ins ps cảm ơn vì công cụ tuyệt vời Eric.
Pete

Việc thêm một giai đoạn đến cuối của localhost là thủ thuật tốt nhất và trang web của fiddler không đề cập đến vấn đề đó.
Josh Mouch

Đã thử các giải pháp khác nhau trên trang này: Thêm một khoảng thời gian, thay đổi tên máy chủ từ 'localhost "thành tên máy của tôi. Cả hai đều không hoạt động. Thay thế" localhost "bằng" ipv4.fiddler ", được đề cập trong tài liệu giải pháp, đã hoạt động.
Simon Tewsi

Trong trường hợp địa chỉ được mã hóa trong các tệp dự án nằm trong thư viện mã nguồn, được phân phối cho tất cả các nhà phát triển (nghĩ rằng Mercurial / Git) trong một nhóm hoặc tất cả các nhà phát triển không thực sự có các giải pháp này là không thực tế và gây ra nhiều hơn Vấn đề hơn họ giải quyết. Điều cần thiết là một cách để fiddler vận hành bên ngoài dự án và do đó không có tác động đến dự án taht hoặc cấu hình của nó.
dùng2960136

39

Fiddler v4.5.1.0 sẽ cho phép bạn thay thế "localhost" bằng "localhost.fiddler" và hiển thị localhost làm tên máy chủ cho máy chủ nhận đang chạy trên máy của bạn.

Điều này tránh các lỗi "máy chủ không được nhận diện" khi kết nối với các dịch vụ WCF với máy chủ web tích hợp mà studio hình ảnh sử dụng.

tức là thay vì http://localhost:51900/service.wcfbạn có thể sử dụnghttp://localhost.fiddler:51900/service.wcf


2
CÔNG TRÌNH HOÀN HẢO! .. Do cấu hình mạng của công việc của tôi, không có đề xuất nào khác hoạt động. Đây là mẹo duy nhất làm việc cho tôi.
Zorthgo

@Zorthgo Tốt để nghe. :)
Jonathan


3

Sử dụng Fiddler v4.6 và cấu hình mặc định không thể thấy bất kỳ lưu lượng truy cập nào từ 'localhost'. Đã thử nhiều đề xuất ở đây nhưng không có gì làm việc.

Đã bật Trợ giúp -> Troublehot và có thể thấy nhiều yêu cầu khác. Các phiên được đánh dấu bằng phông chữ thông qua và lý do được đưa ra là 'Ẩn do Thanh trạng thái> Bộ lọc quy trình.'

Tìm thấy câu trả lời này từ Eric Lawrence cho người gặp vấn đề tương tự http://www.telerik.com/forums/fiddler-not-capturing-ios-traffic-even- Dù-echo-service-works

về cơ bản những gì cần làm là: Nhìn vào Thanh trạng thái ở phía dưới cửa sổ Fiddler, "khay" nhỏ thứ hai trong thanh đó có thể nói một cái gì đó như "Trình duyệt web". Nhấp vào đó và sau đó thay đổi thành "Tất cả quy trình."

Thanh trạng thái Fiddler



2

đảm bảo Giám sát tất cả các kết nối được đánh dấu. Nó không hoạt động đối với tôi có lẽ cổng là diffren tôi cần bạn xem httprequest đến trang web của tôi từ gmail trang web của tôi nằm trên win xp và iis5 (máy của riêng tôi)


2

Để Fiddler nắm bắt lưu lượng truy cập từ localhost trên IIS cục bộ, có 3 bước (Nó hoạt động trên máy tính của tôi):

  1. Nhấp vào Công cụ> Tùy chọn Fiddler. Đảm bảo Cho phép khách hàng từ xa kết nối được kiểm tra. Đóng Fiddler.

nhập mô tả hình ảnh ở đây

  1. Tạo một DWORD mới có tên ReverseProxyForPort bên trong KEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Fiddler2. Đặt DWORD thành cổng 80 (chọn số thập phân ở đây). Khởi động lại Fiddler.

nhập mô tả hình ảnh ở đây

  1. Thêm cổng 8888 vào các địa chỉ được xác định trong ứng dụng khách của bạn. Ví dụ: localhost: 8888 / MyService / WebAPI / v1 /

Có, cài đặt này làm cho fiddler chạy dưới dạng proxy ngược, sao cho nó chuyển tiếp các yêu cầu gửi đến một cổng khác. Trong ví dụ này, nó chuyển tiếp các yêu cầu được thực hiện tới cổng 8888 đến 80.
ozanmut

Điều phức tạp nhất với tôi là bỏ qua hoàn toàn localhost và gửi tất cả lưu lượng khác đến để được xử lý bởi fiddler. Bạn phải bỏ qua localhost, NHƯNG, loại trừ nó khỏi chức năng của bạn. (bạn có thể thử với quy tắc ẩn 304 cho mục đích thử nghiệm.). Vì vậy, tôi đã kết thúc loại trừ nó theo cách sau if ((m_EnableProxy) && !(oSession.host =="127.0.0.1" || oSession.host =="localhost" || oSession.host =="ipv4.fiddler")) { oSession["X-OverrideGateway"] = "socks=127.0.0.1:8080"; oSession["ui-backcolor"] = "#EFEF9F"; }. Hàm này phải là onB BeforeRequest.
m3nda


1

Sử dụng địa chỉ IP cục bộ của bạn (không phải 127.0.0.1) thay vào đó sẽ hoạt động, chẳng hạn như 192.16.0.88, v.v. Truy cập cmd.exe và nhập ipconfig và bạn sẽ thấy nó.

văn bản thay thế


4
Thật ra thì không.
Nathan C. Tresch

Nó không hoạt động. Có vẻ như bạn không thể kết nối với địa chỉ IP của chính mình tại địa phương
zeocash

0

Windows XP:

Đảm bảo đặt để nhấp vào nút cài đặt cho từng mục trong hộp danh sách "Cài đặt mạng riêng và quay số ảo" trong tab "Kết nối" của ứng dụng bảng điều khiển "Tùy chọn Internet".

Tôi nhận thấy rằng Fiddler sẽ ngừng sử dụng cấu hình "Cài đặt mạng LAN" khi tôi kết nối với VPN của mình. Ngay cả khi lưu lượng truy cập không đi qua VPN.


0
  • Nhập ipconfig tại dấu nhắc commANGE.
  • Nó sẽ cung cấp cho bạn Địa chỉ IPv4 của bạn
  • Thay thế localhost bằng Địa chỉ IPv4 của bạn trong Url khi nhấn dịch vụ.

Lưu lượng sẽ hiển thị trong Fiddler dưới địa chỉ IP của máy tính của bạn.


-2

Chuyển đến Công cụ, Tùy chọn Fiddler ..., chọn tab Kết nối, sau đó đảm bảo Giám sát tất cả các kết nối được chọn. Giống như Antony Scott đã nói, nhưng cũng đảm bảo rằng ngăn "Phiên web" được đặt thành "Chụp" và ["Trình duyệt web" HOẶC "Tất cả quy trình"]. Có vẻ như mặc định là "Không trình duyệt".

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.