Tìm máy chủ proxy bằng dòng lệnh


12

Ai đó đã thiết lập proxy trên máy của tôi và tôi muốn biết nó là gì. Có cách nào để tìm máy chủ proxy bằng dòng lệnh chứ không phải GUI không?


echo $HTTP_PROXYlàm gì không?
TheWanderer

Tôi nhận thấy bạn đã đề cập đến việc bạn đang sử dụng 15.04 trong bài viết gốc của mình. Vui lòng xem xét nâng cấp lên 16.04 vì 15.04 đã hết EOL.
edwinksl

Lệnh có gsettings get org.gnome.system.proxy hosttrả lại gì không?
Terrance

Câu trả lời:


14

Đối với bất kỳ proxy toàn hệ thống nào cho HTTP, bạn có thể kiểm tra giá trị của http_proxybiến môi trường:

echo "$http_proxy"

Đối với HTTPS:

echo "$https_proxy"

Tương tự, có ftp_proxy, socks_proxyđể phục vụ mục đích chính xác của tên của họ. Ngoài ra còn có all_proxyđể thiết lập proxy cho tất cả các giao thức này cùng một lúc. Chỉ cần lưu ý, no_proxybỏ cài đặt proxy cho bất kỳ địa chỉ cụ thể của bất kỳ (hoặc tất cả) giao thức đã cho. Để đảm bảo tính đầy đủ, bạn cũng có thể muốn kiểm tra phiên bản chữ hoa của các biến này, mặc dù các chữ thường là tiêu chuẩn cho *_proxycác biến môi trường (chỉ các biến môi trường tôi nhận thấy đó là chữ thường).

Lưu ý rằng, những thứ này sẽ hiển thị bất kỳ cài đặt proxy toàn hệ thống, không dành riêng cho ứng dụng. Ví dụ: firefoxhoặc aptcó thể có các cài đặt proxy riêng của họ bất kể mọi cài đặt toàn cầu. Một số ứng dụng không tôn trọng các biến này (ví dụ: gnomeứng dụng cụ thể sử dụng gsettings), vì vậy YMMV.


Sau khi tôi chạy 'echo "$ http_proxy"', nó hiển thị một hàng trống, điều đó có nghĩa là tôi không có proxy trên máy chủ của mình?
Skula Sadam

@SkulaSadam Kiểm tra các chỉnh sửa của tôi.
heemayl

9

Cố gắng kết nối http ra bên ngoài:

wget http://google.com

Bạn sẽ thấy một cái gì đó như thế này là kết quả:

--2017-06-12 13:02:53--  http://google.com/
Resolving google.com (google.com)... 172.217.11.142, 2607:f8b0:4002:810::200e
Connecting to google.com (google.com)|172.217.11.142|:80... connected.
HTTP request sent, awaiting response... 302 authenticationrequired
Location: http://192.168.254.99:9090/mwg-internal/de5fs23hu73ds/plugin?target=Auth&reason=Auth&ClientID=3130909038&ttl=600&url=aHR0cDovL2dvb2dsZS5jb20v&rnd=1497286973 [following]
--2017-06-12 13:02:53--  http://192.168.254.99:9090/mwg-internal/de5fs23hu73ds/plugin?target=Auth&reason=Auth&ClientID=3130909038&ttl=600&url=aHR0cDovL2dvb2dsZS5jb20v&rnd=1497286973
Connecting to 192.168.254.99:9090... connected.
HTTP request sent, awaiting response... 401 authenticationrequired

Máy chủ proxy của bạn trong trường hợp này được tìm thấy sau khi xác thực 302 được yêu cầu. http://192.168.254.99:9090/


4

Trong Linux, bạn có thể sử dụng điều này để kiểm tra các proxy được xác định trong hệ thống

env | grep proxy

env | grep -i proxy
nixmind

3

kiểm tra tập tin:

cat /etc/apt/apt.conf
cat /etc/environment

Để sửa đổi nội dung của tệp (xóa mọi thứ khỏi apt.conf không có proxy và chỉ các câu proxy từ môi trường)!

sudo nano /etc/apt/apt.conf
sudo nano /etc/environment

geditlà một chương trình GUI. Làm thế nào để tránh sử dụng GUI?
TheWanderer

sử dụng catsau đó @ Zacharee1 .. tôi đã nói gedit để OP cũng có thể chỉnh sửa nó.
minigeek

geditthậm chí có thể không được cài đặt, vì đây có thể là cài đặt máy chủ. nanovimlà cả hai trình soạn thảo văn bản dòng lệnh.
TheWanderer

@ Zacharee1 hmm .. họ sẽ phổ biến. Tôi sẽ chỉnh sửa giải pháp thanx
minigeek

1
Loại bỏ mọi thứ trong /etc/environmentsẽ phá vỡ PATH và có thể các cấu hình khác. Xin đừng làm vậy.
TheWanderer

2
# netstat -na

HOẶC, nếu bạn nghĩ / đoán bất kỳ máy chủ proxy nào thì hãy grep nó để xác nhận, ví dụ:

# netstat -na |grep <ProxyGuess IP>
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.