當前位置:首頁 » 編程語言 » python區域網ip

python區域網ip

發布時間: 2022-08-10 22:47:38

㈠ 如何使用python在區域網上傳送文件

瀏覽器輸入框輸入文件所在主機 IP 。

㈡ python socket通信 客戶端如何檢測同一 區域網內開啟服務功能的服務端ip地址

你是想讓客戶端輸出伺服器的IP地址嗎?你客戶端連接到伺服器之後,伺服器直接把ip發給客戶端不就可以了嗎?還是說你有多個伺服器,可是客戶端鏈接到哪個伺服器得看你客戶端的套接字的設置

㈢ 我想用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地址

㈣ Python的BaseHTTPServer監聽埠只能通過localhost打開,內網IP不能訪問

下面是java的例子,但是原理一樣的
【起因】
同事要參考我寫的一個項目的效果,在本機發布以後發現通過區域網IP無法訪問,但是localhost和127.0.0.1可以訪問
【經過】

配置tomcat的server.xml, 更改connector配置, 埠不用改, 加上address="0.0.0.0", 使其綁定到IPv4, 如下

(借鑒的解決方案)
<1>使用cmd命令netstat -n, 查看tomcat地址綁定, 發現是綁定到127.0.0.1
<2>配置tomcat的server.xml, 更改connector配置, 埠不用改, 加上address="0.0.0.0", 使其綁定到IPv4
<Connector port="8080" maxHttpHeaderSize="8192" address="0.0.0.0"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<3>重啟tomcat, 再次使用netstat -n, 查看tomcat地址綁定, 已變為IPv4.

【結果】
可以通過區域網IP訪問了。

㈤ 如何查詢區域網內在用的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編程基礎,熟悉一下代碼,很快就能掌握的,當然,你也可以使用現有的軟體和工具,都可以,我這里只是提供一種思路,感興趣的朋友可以自己嘗試一下,就當一個簡單的小實驗,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。

㈥ 在python中怎麼匹配IP地址

㈦ Python多線程區域網掃IP的問題

樓主對於os.system方法理解有誤,不是你PING不通才返回的0,
os.system只是幫你執行命令而已,如果這個命令是有效的他返回0,如果無效則返回1,你可以試試os.system('abc')他是返回1的(因為abc這個命令是無效的),對於你的PING命令來說,只要他能成功執行無論PING通不PING通他都會返回0.

你要測試網路是否通不能採用這種方式,應該使用PYTHON自帶的庫。

㈧ python可以通過什麼命令更改ip地址

#!/usr/bin/env python
#-*- encoding:gb2312 -*-
Filename: IP.py
import sitecustomize
import _winreg
import ConfigParser
from ctypes import *
print '正在進行網路適配器檢測,請稍候…'
print
netCfgInstanceID = None
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, \
r'System\CurrentControlSet\Control\Class{4d36e972-e325-11ce-bfc1-08002be10318}')
keyInfo = _winreg.QueryInfoKey(hkey)
尋找網卡對應的適配器名稱 netCfgInstanceID
for index in range(keyInfo[0]):
hSubKeyName = _winreg.EnumKey(hkey, index)
hSubKey = _winreg.OpenKey(hkey, hSubKeyName)
try:
hNdiInfKey = _winreg.OpenKey(hSubKey, r'Ndi\Interfaces')
lowerRange = _winreg.QueryValueEx(hNdiInfKey, 'LowerRange')
檢查是否是乙太網
if lowerRange[0] == 'ethernet':
driverDesc = _winreg.QueryValueEx(hSubKey, 'DriverDesc')[0]
print '檢測到網路適配器名:', driverDesc
netCfgInstanceID = _winreg.QueryValueEx(hSubKey, 'NetCfgInstanceID')[0]
print '檢測到網路適配器ID:', netCfgInstanceID
if netCfgInstanceID == None:
print '沒有找到網路適配器,程序退出'
exit()
break
_winreg.CloseKey(hNdiInfKey)
except WindowsError:
print r'Message: No Ndi\Interfaces Key'
循環結束,目前只提供修改一個網卡IP的功能
_winreg.CloseKey(hSubKey)
_winreg.CloseKey(hkey)
通過修改注冊表設置IP
strKeyName = 'System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\' + netCfgInstanceID
print '網路適配器的注冊表地址是:\n', strKeyName
hkey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, \
strKeyName, \
0, \
_winreg.KEY_WRITE)
config = ConfigParser.ConfigParser()
print
print '正在打開IP.ini配置文件…'
config.readfp(open('IP.ini'))
IPAddress = config.get("school","IPAddress")
SubnetMask = config.get("school","SubnetMask")
GateWay = config.get("school","GateWay")
DNSServer1 = config.get("school","DNSServer1")
DNSServer2 = config.get("school","DNSServer2")
DNSServer = [DNSServer1,DNSServer2]
print '配置文件內設定的信息如下,請核對:'
print
print 'IP地址:', IPAddress
print '子關掩碼:', SubnetMask
print '默認網關:', GateWay
print '主DNS伺服器:', DNSServer1
print '次DNS伺服器:', DNSServer2
print
res = raw_input('現在,請您決定:輸入1,則將配置文件寫入系統;輸入2,則將現有的系統設定還原為全部自動獲取;否則程序退出:')
if str(res) == '1':
try:
_winreg.SetValueEx(hkey, 'EnableDHCP', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'IPAddress', None, _winreg.REG_MULTI_SZ, [IPAddress])
_winreg.SetValueEx(hkey, 'SubnetMask', None, _winreg.REG_MULTI_SZ, [SubnetMask])
_winreg.SetValueEx(hkey, 'DefaultGateway', None, _winreg.REG_MULTI_SZ, [GateWay])
_winreg.SetValueEx(hkey, 'NameServer', None, _winreg.REG_SZ, ','.join(DNSServer))
except WindowsError:
print 'Set IP Error'
exit()
_winreg.CloseKey(hkey)
print '切換成功!重置網路後即可生效'
elif str(res) == '2':
try:
_winreg.SetValueEx(hkey, 'EnableDHCP', None, _winreg.REG_DWORD, 0x00000001)
_winreg.SetValueEx(hkey, 'T1', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'T2', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'NameServer', None, _winreg.REG_SZ, None)
_winreg.SetValueEx(hkey, 'DhcpConnForceBroadcastFlag', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'Lease', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'LeaseObtainedTime', None, _winreg.REG_DWORD, 0x00000000)
_winreg.SetValueEx(hkey, 'LeaseTerminatesTime', None, _winreg.REG_DWORD, 0x00000000)
except WindowsError:
print 'Set IP Error'
exit()
_winreg.CloseKey(hkey)
print '切換成功!重置網路後即可生效'
else:
print '用戶手動取消,程序退出'
exit('')

㈨ 需要用python編寫GUI界面實現區域網ip和埠掃描。在dos下採用nmap實現了,但是到wi

不是可以孵化進程嗎?popen之類的可以嘗試一下。就是把輸入輸出重定向,你可以孵化一個進程執行nmap,向孵化出來的進程中輸入數據,把輸出讀出來。

熱點內容
安卓手機錄像太抖怎麼辦 發布:2022-10-05 00:14:19 瀏覽:484
px4編譯命令 發布:2022-10-05 00:12:54 瀏覽:711
山東浪潮伺服器維修維保雲空間 發布:2022-10-05 00:06:11 瀏覽:666
騰訊雲伺服器網路 發布:2022-10-04 23:59:12 瀏覽:660
草莓解壓泥 發布:2022-10-04 23:57:33 瀏覽:525
圖書館資料庫er圖 發布:2022-10-04 23:55:08 瀏覽:185
壓縮面膜一周敷幾次 發布:2022-10-04 23:55:00 瀏覽:814
mac緩存怎麼清理 發布:2022-10-04 23:54:52 瀏覽:58
starftp 發布:2022-10-04 23:53:19 瀏覽:97
ibm存儲伺服器 發布:2022-10-04 23:50:00 瀏覽:165