คล้ายกับการค้นหาhttp://whatismyip.com เห็นได้ชัดว่ามันจะต้องสอบถามคอมพิวเตอร์ที่นั่น แค่สงสัยว่าใครมีวิธีที่ฉลาดในการทำมัน?
คล้ายกับการค้นหาhttp://whatismyip.com เห็นได้ชัดว่ามันจะต้องสอบถามคอมพิวเตอร์ที่นั่น แค่สงสัยว่าใครมีวิธีที่ฉลาดในการทำมัน?
คำตอบ:
curl http://myip.dnsomatic.com
ขุด + short myip.opendns.com
ใช้งานได้เฉพาะถ้าคุณใช้ OpenDNS เป็นเซิร์ฟเวอร์ dns ของคุณ
หากคุณไม่ได้หนึ่งในนั้นควรทำงาน:
dig + short myip.opendns.com @ 208.67.222.222 dig + short myip.opendns.com @ 208.67.220.220 dig + short myip.opendns.com @ 208.67.222.222 @ 208.67.220.220
@resolver1.opendns.com
(เพื่อความสะดวกในการอ่าน)
STUNเป็นทางออกที่เหมาะสม
% 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}'
เราจะต้องใช้เซิร์ฟเวอร์ของ OpenDNS เพื่อที่จะใช้สิ่งนี้ ... คุณสามารถค้นหาเซิร์ฟเวอร์ DNS บางตัวที่มีการขุดดังนี้:
dig + short myip.opendns.com @ 208.67.222.222
คุณสามารถใช้ curl เพื่อดึงหน้าจากสิ่งที่ชอบ whatismyip แล้วนำชิ้นส่วนออกมา ฉันใช้ whatismyipaddress.com ในตัวอย่างนี้ ... เห็นได้ชัดว่าเขตข้อมูลจะแตกต่างกับบริการที่แตกต่างกัน
curl -s http://whatismyipaddress.com/ | grep LOOKUPADDRESS | awk '{ print $4 }'
ฉันใช้ traceroute ไปที่ไหนสักแห่งบนอินเทอร์เน็ตและมองหาการกระโดดออกจากเครือข่ายท้องถิ่นของเรา
อาจจะมีวิธีที่ดีกว่า
"lynx http://whatismyip.com "
วิธีที่ง่ายที่สุดคือ: curl ifconfig.me
คุณสามารถใช้คำสั่ง ifconfig เพื่อแสดงรายการอินเตอร์เฟสทั้งหมดและที่อยู่ IP ที่เกี่ยวข้อง
ดังนั้นหากคุณรู้ว่าอินเตอร์เฟซอินเทอร์เน็ตของคุณคือ ppp0 คุณสามารถเรียกใช้
$ ifconfig ppp0 ppp0 Link encap: โปรโตคอลแบบจุดต่อจุด inet addr: XXXX.X PtP: YYYY Mask: 255.255.255.255 POINTOPOINT RUNNING NOARP MULTICAST MTU: 1444 เมตริก: 1 แพ็คเก็ต RX: ข้อผิดพลาด 198986: 0 ลดลง: 0 overruns: 0 เฟรม: 0 แพ็กเก็ต TX: 122929 ข้อผิดพลาด: 0 ลดลง: 0 overruns: 0 ผู้ให้บริการ: 0 การชน: 0 txqueuelen: 3 ไบต์จำนวน: 134195571 (127.9 MiB) TX ไบต์: 17101701 (16.3 MiB)
XXXX จะเป็นที่อยู่ IP ของคุณ YYYY คือที่อยู่ IP ของ hop ถัดไป
จากนั้นคุณสามารถประมวลผลเอาต์พุตของ ifconfig ภายหลังด้วย grep / awk / sed / cut / perl / อะไรก็ได้ที่จะแยกเฉพาะ IP
อีกทางเลือกหนึ่งหากคุณติดตั้งเครื่องมือ iproute ไว้คือใช้คำสั่ง ip เช่น
$ ip addr รายการ ppp0 21842: ppp0: mtu 1444 qdisc htb state UNKNOWN qlen 3 การเชื่อมโยง / PPP inet XXXX เพียร์ YYYY / 32 ขอบเขตทั่วโลก ppp0
อาจอ่านง่ายกว่าและง่ายกว่าในการแยกวิเคราะห์:
$ ip addr รายการ ppp0 | awk '/ inet / {พิมพ์ $ 2}' XXXX