Có một lệnh đơn giản để chạy trong thiết bị đầu cuối Linux để cho biết proxy là SOCKS hay HTTP không?
Có một lệnh đơn giản để chạy trong thiết bị đầu cuối Linux để cho biết proxy là SOCKS hay HTTP không?
Câu trả lời:
Khác sau đó chỉ cần thử nếu đó là SOCKS hoặc HTTP, không, bạn không thể.
Để kiểm tra xem đó có phải là proxy http không:
set http_proxy = http://1.0.0.1:8080
wget --proxy=on http://www.google.com/
Điều này sẽ tải xuống root html của google và nếu nó có nội dung chính xác, bạn biết đó là proxy http.
Trên máy ảo SLES11 của tôi, tôi chạy socklist
và grep
cho cổng:
dev-s11:~ # socklist | grep 22
tcp 22 21112 0 4345 3 sshd
tcp 22 10473174 0 32616 3 sshd
Điều đó cho tôi biết liệu nó được quản lý bởi ssh hay không. Nếu bạn đang sử dụng các cổng mặc định, http sẽ là 80 và ssh 22. Điều đó sẽ giúp bạn bắt đầu - hỏi thêm Q nếu bạn cần thêm chi tiết cụ thể.
Sử dụng lệnh shell sau curl
để kiểm tra:
ip=127.0.0.1
port=8080
(timeout 2 curl -x socks5://$ip:$port -qs -o/dev/null http://example.com/ && printf "socks5\t$ip\t$port\n") \
|| (timeout 2 curl -x socks4://$ip:$port -qs -o/dev/null http://example.com/ && printf "socks4\t$ip\t$port\n") \
|| (timeout 2 curl -x http://$ip:$port -qs -o/dev/null http://example.com/ && printf "http\t$ip\t$port\n")
Đối với tập lệnh đầy đủ, kiểm tra check_proxies.sh
tập tin .