当前位置:首页 » 编程语言 » 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,向孵化出来的进程中输入数据,把输出读出来。

热点内容
压缩面食 发布:2024-05-05 18:55:45 浏览:803
linux的gz解压命令 发布:2024-05-05 18:24:13 浏览:311
服务器机柜属于什么辐射 发布:2024-05-05 18:02:10 浏览:336
存储成本计算 发布:2024-05-05 18:02:10 浏览:584
如何把手机改安卓10 发布:2024-05-05 17:39:07 浏览:498
我的世界怎么扩容服务器内存 发布:2024-05-05 17:19:54 浏览:48
java读取文件字符 发布:2024-05-05 17:15:18 浏览:11
三星怎么应用加密 发布:2024-05-05 17:13:18 浏览:152
cad字体在那个文件夹 发布:2024-05-05 17:08:20 浏览:331
什么时候用编译器 发布:2024-05-05 17:08:20 浏览:766