Tương tự như tra cứu http://whatismyip.com . Nó rõ ràng sẽ cần phải truy vấn một máy tính ngoài đó. Chỉ tự hỏi nếu có ai có một cách thông minh để làm điều đó?
Tương tự như tra cứu http://whatismyip.com . Nó rõ ràng sẽ cần phải truy vấn một máy tính ngoài đó. Chỉ tự hỏi nếu có ai có một cách thông minh để làm điều đó?
Câu trả lời:
curl http://myip.dnsomatic.com
đào + ngắn myip.opendns.com
Điều này chỉ hoạt động nếu bạn đang sử dụng OpenDNS làm máy chủ dns của bạn.
Nếu bạn không, một trong số này sẽ hoạt động:
đào + ngắn myip.opendns.com @ 208.67.222.222 đào + ngắn myip.opendns.com @ 208.67.220.220 đào + ngắn myip.opendns.com @ 208,67.222.222 @ 208,67.220.220
@resolver1.opendns.com
(để dễ đọc)
STUN là giải pháp thích hợp.
% stun -v stun.ekiga.net ... MappedAddress = 88.189.152.187:18009
lynx -dump http://www.pcmesh.com/ip-check.cgi | awk '/REMOTE_ADDR/{print $2}'
Bạn có thể sử dụng curl để lấy trang từ một cái gì đó như whatismyip và sau đó lấy các mảnh ra. Tôi đã sử dụng whatismyipaddress.com trong ví dụ này ... rõ ràng các trường sẽ khác nhau với các dịch vụ khác nhau.
curl -s http://whatismyipaddress.com/ | grep LOOKUPADDRESS | awk '{ print $4 }'
Tôi chỉ chạy một traceroute đến một nơi nào đó trên internet và tìm kiếm hop từ mạng cục bộ của chúng tôi.
có lẽ có một cách tốt hơn?
"lynx http://whatismyip.com "
bạn có thể sử dụng lệnh ifconfig để liệt kê tất cả các giao diện và địa chỉ IP được liên kết của chúng.
vì vậy, nếu bạn biết giao diện internet của mình là ppp0, bạn có thể chạy
$ ifconfig ppp0 ppp0 Liên kết mã hóa: Giao thức điểm-điểm inet addr: XXXX.X PtP: YYYY Mặt nạ: 255.255.255.255 LÊN POINTOPOINT CHẠY NỀN TẢNG ĐA NĂNG MTU: 1444 Số liệu: 1 Các gói RX: 198986 lỗi: 0 rớt: 0 tràn: 0 khung: 0 Các gói TX: 122929 lỗi: 0 rớt: 0 tràn: 0 sóng mang: 0 va chạm: 0 txqueuelen: 3 Các byte RX: 134195571 (127,9 MiB) TX byte: 17101701 (16.3 MiB)
XXXX sẽ là địa chỉ IP của bạn. YYYY là địa chỉ IP của bước nhảy tiếp theo.
sau đó bạn có thể xử lý hậu quả đầu ra của ifconfig bằng grep / awk / sed / cut / perl / bất cứ điều gì để trích xuất chỉ IP.
Một cách khác, nếu bạn đã cài đặt các công cụ iproute, là sử dụng lệnh ip. ví dụ
$ ip addr danh sách ppp0 21842: ppp0: mtu 1444 qdisc htb trạng thái UNKNOWN qlen 3 liên kết / ppp inet XXXX ngang hàng YYYY / phạm vi 32 toàn cầu ppp0
Điều đó có lẽ dễ đọc hơn và chắc chắn dễ phân tích hơn:
$ ip addr danh sách ppp0 | awk '/ inet / {in $ 2}' XXXX