Discussion:
[問題] 對外IP
(时间太久无法回复)
阿東
2015-04-23 13:59:06 UTC
Permalink
各位版友好,

請問有沒有方法能夠拿到某台設備(自己的電腦或其他設備)的對外IP呢?

目前找到的方法都是利用軟體或是網頁,

但是在不能使用這兩種方法的情況下有沒有什麼指令能夠知道對外IP呢?

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.113.177
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1429797547.A.772.html
大吉嶺紅茶
2015-04-24 06:09:12 UTC
Permalink
問題有好幾個, 其實網友們都回答了, 但似乎你在推文的過程中又混亂了
我重新整理一次, 分成不同 case 討論
1. 如何知道本機對外 ip
ans: a)擁有 public ip, 使用 ifconfig 取得
b)NAT 內
→ kenduest: urllib2.urlopen('http://ipecho.net/plain').read()
NAT 內無法知道自己的外部情況, 就像如果一個人被關在箱子裡面, 除非
有人告訴你, 否則你不會知道箱子是甚麼顏色
除非你有 NAT 的權限, 那就有機會直接詢問
2. 如何知道同網域沒權限B電腦對外 ip
ans: a)擁有 public ip, 你擁有 B 電腦甚麼資訊?
domain name: 反查
MAC: 反查
WINS: 反查
都不知道: 那你要怎麼知道哪台是你的 B 電腦? 沒權限想必也沒辦法安裝
軟體對吧
b)NAT 內:
正常會跟 A 電腦同樣的對外 ip



※ 引述《Dong0129 (阿東)》之銘言:
: 標題: [問題] 對外IP
: 時間: Thu Apr 23 21:59:03 2015
:
: 各位版友好,
:
: 請問有沒有方法能夠拿到某台設備(自己的電腦或其他設備)的對外IP呢?
:
: 目前找到的方法都是利用軟體或是網頁,
:
: 但是在不能使用這兩種方法的情況下有沒有什麼指令能夠知道對外IP呢?
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.113.177
: ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1429797547.A.772.html
: → kenduest: 不連出去怎麼會知道對外 ip 是多少呢 ? 04/23 22:14
: → kenduest: 尤其是躲在 nat 環境下的網路裝置的環境 04/23 22:16
:
: 您好,這也是我感到納悶的地方,
:
: 因為希望能夠在一隻python腳本正在跑的過程中取得對外IP,
:
: 所以應該要避免利用軟體或是網頁的方式獲得對外IP,
:
: 最簡單的方法是利用系統指令,但好像又沒有系統指令能夠達成,
:
: 所以才想發問請教是否有方法能夠達成這個目的...
: ※ 編輯: Dong0129 (220.137.113.177), 04/23/2015 22:19:26
: → kdjf: http://ipecho.net/plain 04/23 22:27
: → kdjf: more: http://ipecho.net/developers.html, don't abuse it 04/23 22:30
: → kenduest: python 用 urllib* 這類連到外面存取 url 不也就是 04/23 22:31
: 您好,因為對於python而言還是個新手,
:
: 所以有些語法並不熟悉,
:
: 一邊在找資料也一邊發問,
:
: 希望能夠學到更多,
:
: 很感謝各位願意給我指點。
: ※ 編輯: Dong0129 (220.137.113.177), 04/23/2015 22:37:10
: → kenduest: python 2 code: 04/23 22:38
: → kenduest: import urllib2 04/23 22:38
: → kenduest: urllib2.urlopen('http://ipecho.net/plain').read() 04/23 22:38
: → kenduest: return 那就是 ip 位址了.... 04/23 22:38
:
: 謝謝您,
:
: 但沒有方法能夠獲得其他設備的對外IP對嗎?
: ※ 編輯: Dong0129 (220.137.113.177), 04/23/2015 22:41:01
: → kenduest: 剛剛不是說不連外怎麼知道對外 ip 了嗎? 04/23 22:41
: → kenduest: 又繼續回到鬼打牆的討論? 04/23 22:46
:
: 抱歉沒有清楚表達我的疑問,
:
: 我的意思是,有辦法在沒有B電腦權限的情況下,
:
: 從A電腦得知B電腦的對外IP嗎(A&B處在同個網域)?
: ※ 編輯: Dong0129 (220.137.113.177), 04/23/2015 22:52:50
: → kenduest: 上面提供方式最簡單作法你不用,令人費解 04/23 23:12
:
: 您好,很感謝您給的指點,
:
: 只是今天想要做到自動化取得A電腦到B電腦裡的router路徑,
:
: 並對每個node做分析,因此不太可能能夠得到每台電腦的權限,
:
: 故會有上述問題,
:
: 您提供的指導給我很棒的方向,謝謝您!
: ※ 編輯: Dong0129 (220.137.113.177), 04/23/2015 23:17:54
: → zhucc: 同個網域下對外ip不同嗎? 04/23 23:16
: → cybelia: 同樓上疑問 @_@ 04/23 23:17
: → cybelia: 這樣的用途不需要先知道B電腦的ip才能找到他嗎@@? 04/23 23:19
: 推 kenduest: 你都沒有 a 存取權限了又如何知道 a 出去會走什麼路線 04/23 23:19
: → kenduest: 你又不是對方哪知道對方 routing table 的資訊 ? 04/23 23:20
:
: A--B--C
: |
: |
: D
:
: 假如拓墣如上,
:
: 目標是A電腦能不能夠拿到B電腦的對外對內IP資訊,
:
: 因為沒有B的權限,所以我也很納悶要怎麼拿...
:
: → cybelia: 另外聽起來需要的比較像是網域內的ip.. 04/23 23:20
:
: 因為我必須知道路徑內每個node的對外IP,才有辦法得知該node所屬的ISP、國域等資訊
:
: 所以應該是對外IP吧,只是目前很納悶要怎麼拿到沒權限電腦的對外IP...
: ※ 編輯: Dong0129 (220.137.113.177), 04/23/2015 23:27:22
: → kenduest: 還有問題描述常常用自己方式陳述,結果後來問的東西 04/23 23:20
: → kenduest: 與原本當初問的內容差異實在頗大 04/23 23:21
:
: 抱歉,我的確描述的不夠清楚...
:
: 會試著直接描述問題的..
: ※ 編輯: Dong0129 (220.137.113.177), 04/23/2015 23:30:55
: → kdjf: a->b的route不就是traceroute/tracert搞定? 你該缺什麼? 04/24 00:48
: → kdjf: 還 04/24 00:58
: 推 asdfghjklasd: 在你同一個位置的Node 只會有一個網路.除非你能把 04/24 08:50
: → asdfghjklasd: 全世界網路放在你家,不然你怎可能知道其它家 04/24 08:51
: → asdfghjklasd: 就算CIA/FBI 都沒辦法 04/24 08:51
: → asdfghjklasd: 若是A/B/C 各是自己PPPOE出去,那你也很難捉 04/24 08:52
: → asdfghjklasd: 就算A/B/C同時你可以Sniffer也不一定可以看的到 04/24 08:53
: → kouryuu: 預先打開其他電腦的snmp,然後放bat or shell進去跑,透過 04/24 12:40
: → kouryuu: snmp撈, 如果連這些動作都不能做,那可以知道就真的很恐怖 04/24 12:40

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 198.211.33.21
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1429855753.A.3A2.html
继续阅读narkive:
Loading...