A. python 正則表達式.*如何把ip地址提取出來
#!/usr/bin/envpython
#-*-coding:utf-8-*-
importre
html='<bodystyle="margin:0px"><center>您的IP是:[42.120.74.89]來自:浙江省杭州市阿里雲</center></body></html>'
reg=re.compile(r'[(d{1,3}.d{1,3}.d{1,3}.d{1,3})]')
item=re.findall(reg,html)
printitem[0]
B. 如何用python腳本獲取ip,掩碼,地址,網段
#!/usr/bin/python
importfcntl,socket,struct
defgetHwAddr(ifname):
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
info=fcntl.ioctl(s.fileno(),0x8927,struct.pack('256s',ifname[:15]))
return':'.join(['%02x'%ord(char)forcharininfo[18:24]])
printgetHwAddr('eth0')
C. Python多線程區域網掃IP的問題
樓主對於os.system方法理解有誤,不是你PING不通才返回的0,
os.system只是幫你執行命令而已,如果這個命令是有效的他返回0,如果無效則返回1,你可以試試os.system('abc')他是返回1的(因為abc這個命令是無效的),對於你的PING命令來說,只要他能成功執行無論PING通不PING通他都會返回0.
你要測試網路是否通不能採用這種方式,應該使用PYTHON自帶的庫。
D. python使用Flask框架獲取用戶IP地址的方法
主要介紹了python使用Flask框架獲取用戶IP地址的方法,實例分析了Python使用Flask框架remote_addr獲取IP的`技巧,非常具有實用價值,需要的朋友可以參考下。
下面的代碼包含了html頁面和python代碼,非常詳細,如果你正使用Flask,也可以學習一下最基本的Flask使用方法。
python代碼如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
from flask import Flask, render_template, request
# Initialize the Flask application
app = Flask(__name__)
# Default route, print user's IP
@app.route('/')
def index():
ip = request.remote_addr
return render_template('index.html', user_ip=ip)
if __name__ == '__main__':
app.run(
host="0.0.0.0",
port=int("80")
)
html代碼如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<html lang="en">
<head>
<link href="bootstrap/3.0.0/css/bootstrap.min.css"
rel="stylesheet">
</head>
<body>
<p class="container">
<p class="header">
<h3 class="text-muted">How To Get The IP Address Of The User</h3>
</p>
<hr/>
<p>
You IP address is: <strong>{{user_ip}}</strong>
<p class="header">
<h3 class="text-muted">Code to retrieve the IP</h3>
</p>
<hr/>
<pre>
from flask import Flask, render_template, request
# Initialize the Flask application
app = Flask(__name__)
# Default route, print user's IP
@app.route('/')
def index():
ip = request.remote_addr
return render_template('index.html', user_ip=ip)
</pre>
</p>
</p>
</body>
</html>
希望本文所述對大家的Python程序設計有所幫助。
E. 如何查詢區域網內在用的IP地址
這里不藉助任何現有工具或軟體,以python為例,查詢一下區域網內所有正在使用的IP地址,基本原理很簡單,就是ping命令,對返回來的結果進行分析,若TTL=0則表示當前IP地址正在使用,否則沒有使用,代碼很簡單,實驗環境win10+python3.6+pycharm5.0,主要內容如下:
1.首先,需要獲取操作系統類型,如果是windows系統,則ping命令使用n參數,否則,ping命令使用c參數,這2個參數主要是指定ping的次數,代碼如下,很簡單:
2.接著,就是構建ping命令,使用os模塊的popen函數執行ping命令,取得返回的執行結果,並對結果進行分析,如果TTL=0,則代表這個IP地址正在使用,否則,說明這個IP沒有在使用,這里只需要ping一次就行,具體代碼如下:
3.最後就是構建for循環,依次ping區域網內所有的IP地址,這里為了加快程序執行的速度,我開啟了多個線程,主要用到_thread這個模塊,代碼如下,很簡單:
點擊運行這個程序,效果如下,已經成功找到區域網內正在使用的IP地址:
至此,我們就完成了查詢區域網內正在使用的IP地址。總的來說,整個過程很簡單,思路也非常清晰,只要你有一定的python編程基礎,熟悉一下代碼,很快就能掌握的,當然,你也可以使用現有的軟體和工具,都可以,我這里只是提供一種思路,感興趣的朋友可以自己嘗試一下,就當一個簡單的小實驗,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。
F. 我想用python掃描區域網內的ip和mac地址,需要什麼第三方庫
MAC地址也叫物理地址、硬體地址或鏈路地址,由網路設備製造商生產時寫在硬體內部。IP地址與MAC地址在計算機里都是以二進製表示的,IP地址是32位的,而MAC地址則是48位的。MAC地址的長度為48位(6個位元組),通常表示為12個16進制數,每2個16進制數之間用冒號隔開,如:08:00:20:0A:8C:6D就是一個MAC地址,其中前6位16進制數08:00:20代表網路硬體製造商的編號,它由IEEE(電氣與電子工程師協會)分配,而後3位16進制數0A:8C:6D代表該製造商所製造的某個網路產品(如網卡)的系列號。只要你不去更改自己的MAC地址,那麼你的MAC地址在世界是惟一的。
MAC地址的作用
IP地址就如同一個職位,而MAC地址則好像是去應聘這個職位的人才,職位可以既可以讓甲坐,也可以讓乙坐,同樣的道理一個節點的IP地址對於網卡是不做要求,基本上什麼樣的廠家都可以用,也就是說IP地址與MAC地址並不存在著綁定關系。本身有的計算機流動性就比較強,正如同人才可以給不同的單位幹活的道理一樣的,人才的流動性是比較強的。職位和人才的對應關系就有點像是IP地址與MAC地址的對應關系。比如,如果一個網卡壞了,可以被更換,而無須取得一個新的IP地址。如果一個IP主機從一個網路移到另一個網路,可以給它一個新的IP地址,而無須換一個新的網卡。當然MAC地址除了僅僅只有這個功能還是不夠的,就拿人類社會與網路進行類比,通過類比,我們就可以發現其中的類浦?Γ??玫乩斫釳AC地址的作用。
無論是區域網,還是廣域網中的計算機之間的通信,最終都表現為將數據包從某種形式的鏈路上的初始節點出發,從一個節點傳遞到另一個節點,最終傳送到目的節點。數據包在這些節點之間的移動都是由ARP(Address Resolution Protocol:地址解析協議)負責將IP地址映射到MAC地址上來完成的。其實人類社會和網路也是類似的,試想在人際關系網路中,甲要捎個口信給丁,就會通過乙和丙中轉一下,最後由丙 轉告給丁。在網路中,這個口信就好比是一個網路中的一個數據包。數據包在傳送過程中會不斷詢問相鄰節點的MAC地址,這個過程就好比是人類社會的口信傳送過程。相信通過這兩個例子,我們就可以進一步理解MAC地址的作用。
與MAC地址相關的命令與軟體
在人類社會社交中,我們認識一個人往往只會知道他的姓名,而身份證號碼在一般的人際交往中會被忽略。同樣在網路中,我們往往只會知道同事或者網友的IP地址,並不會去過多地關心對方的MAC地址。要成長為網路高手,我們可以使用一些方法去了解對方的MAC地址。在這里介紹兩種常用的方法,在Windows 9x 中可用WinIPcfg獲得,在Windows 2000/XP中可用IPconfig -all獲得。
使用命令只能單條獲得MAC地址,而且使用起來也是很麻煩的。對於網管人員,更希望有一款簡單化操作的軟體,我們可以利用「MAC掃描器」遠程批量獲取MAC地址。它是用於批量獲取遠程計算機網卡物理地址的一款網路管理軟體。該軟體運行於網路(區域網、Internet都可以)內的一台機器上,即可監控整個網路的連接情況,實時檢測各用戶的IP、MAC、主機名、用戶名等並記錄以供查詢,可以由用戶自己加以備注;能進行跨網段掃描,能和資料庫中得IP和MAC地址進行比較,有修改IP的或使用虛假MAC地址的,都能報警。
更改MAC地址
G. python獲取本地ip的方法
方法一可能有的獲取不到ip(比如沒有正確設置up名稱)
方法一
import socket
#獲取計算機名稱
hostname=socket.gethostname()
#獲取本機IP
ip=socket.gethostbyname(hostname)
print(ip)
方法二
import socket
def get_host_ip():
"""
查詢本機ip地址
:return:
"""
try: s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.connect(('8.8.8.8',80))
ip=s.getsockname()[0]
finally:
s.close()
return ip
if __name__ == '__main__':
print(get_host_ip())
H. python怎樣獲取連接的IP的設備信息
以前是有這樣的工具,它會通過常用協議去刺探設備類型。比如windows的版本,計算機名等。現在不知道還有沒有這樣的工具,搜索一下看。
哦。這個應該相當容易了。因為相機是專業設備。所以通常會有一個控制協議。因為是專業的,所以這個socket應該是加密的。 你只需要連接上後,隨便發一個命令,如果被斷開。很可能就是這個相機了。
另外相機通常都是有MAC地址的。如果你發現它在你預計的MAC地址范圍內,也可以知道是它。 相機是專業抓拍的。通常不會放在互聯網上,應該是區域網。你可以排除區域網上的其它計算機,自然了也就知道哪些是相機了。
這些都不是難題。你首先掃描所有的IP地址。再掃描它們的埠數量。如果埠數量多通常是計算機,如果埠只有1-2個就是專業設備。掃描不到的,應該就是計算機啦。
試試,並不難。