精华内容
下载资源
问答
  • 【Python】局域网ping扫描在线主机

    千次阅读 2015-07-08 00:34:35
    首先参考了这个实现 它是开多线程来调用cmd ping LZ选择用subprocess.Popen,让...轮询Popen对象判断ping是否结束,进而检查echo信息判断,得到在线主机列表。。#-*- coding: utf-8 -*- import platform import sy

    首先参考了这个实现
    它是开多线程来调用cmd ping
    LZ选择用subprocess.Popen,让子进程通过管道将输入缓存到系统buffer中。Popen会返回一个对象,可以通过它与子进程交互,获取其状态等。轮询Popen对象判断ping是否结束,进而检查echo信息判断,得到在线主机列表。。
    速度比多线程快很多,扫描1-255只需要不到10s

    #-*- coding: utf-8 -*- 
    import platform 
    import sys 
    import os 
    import time 
    import thread
    from subprocess import Popen, PIPE
    
    # 传入ip地址,调用 cmd ping, 返回 Popen 对象
    # 指定ping的stdout通过管道写入设定的buffer中
    def invoke_ping(addr):
        # windows 的参数和linux下不同
        cmd = ['ping', '-n', '1', addr]
        ret = 0
        try:
            ret = Popen(cmd, bufsize=1024, stdout=PIPE)
        except ValueError:
            print 'error occur in invoke_ping: ' + addr
        return ret
    
    # 简单地通过 ping 回显信息检查是否在线
    def check_online(popen_obj):
        echo = popen_obj.communicate()[0].split('\n')
        if len(echo) >= 3:
            print echo[2]
            ttl_pos = echo[2].find('TTL')
            if ttl_pos != -1:
                ms_pos = echo[2].find('ms')
                i = ms_pos - 1
                while i > 0 and echo[2][i:i+1].isdigit() == True:
                    i -= 1
                ti = int(echo[2][i+1:ms_pos])
                ttl = int(echo[2][ttl_pos + 4:])
    
                return (ti, ttl)
        return tuple()
    
    def ping_scan(dst):
        oks = []
        scq = {}
        net_addr = dst.split('.')
        for i in range(0, 256):
            net_addr[3] = str(i)
            tmp = invoke_ping( '.'.join(net_addr) )
            if type(tmp) != int:
                scq[i] = tmp
    
        while len(scq) != 0:
            to_be_removed = []
            for k, v in scq.items():
                if v.poll() != None:
                    ret = check_online(v)
                    if len(ret) > 0:
                        net_addr[3] = str(k)
                        oks.append( ( k, ret) )
                    to_be_removed.append( k )
            for i in to_be_removed:
                scq.pop(i)
        return oks
    
    if __name__ == '__main__':
        start_time = time.clock()
        dst_net = '172.30.58.229'
        online_list = ping_scan(dst_net)
        online_list.sort()
        prefix = '.'.join( dst_net.split('.')[0:3] )
        for i in online_list:
            fmt = '%s time=%dms ttl=%d'
            print fmt % ( prefix+'.'+str(i[0]), i[1][0], i[1][1] )
        print '%d hosts in total' % len(online_list)
        print 'process time: %lfs' % (time.clock() - start_time)
    展开全文
  • 局域网我们一般指私网,有时会找不到目标主机。我们通常先ping主机,可以看到无法ping通,下面是学习啦小编给大家整理的一些有关局域网内目标主机无法ping通的解决方法,希望对大家有帮助!局域网内目标主机无法ping...

    今天给大家带来局域网内目标主机无法ping通怎么处理,局域网内目标主机无法ping通如何解决,让您轻松解决问题。

    局域网我们一般指私网,有时会找不到目标主机。我们通常先ping主机,可以看到无法ping通,下面是学习啦小编给大家整理的一些有关局域网内目标主机无法ping通的解决方法,希望对大家有帮助!

    局域网内目标主机无法ping通的解决方法

    这里我们说的是比较简单的局域网,在同一个hub下共享文件,或创建游戏,为什么找不到主机。我们通常先ping主机,可以看到无法ping通;

    6f93f467a79c9c166cb7a025c0958c0d.png

    主机为公网ip地址,外面随意公网地址应该也都可以ping通,如果设置禁ping的话,那么公网上的主机就无法ping通你了,增加了网络的安全性;

    进入控制面板设置防火墙开关,在局域网中没有网络攻击关闭就可以了,在联网情况下,还是打开为好,可以阻挡一些网络攻击。

    674e3ed72360aa069d3d1b16ed3bd9ff.png

    在控制面板中我们可以看到系统防火墙功能,如果没有会找到,请切换经典模式;

    389cca79f286b81625bbeb0550976b36.png

    刚刚我们看到无法ping通,那么主机就没有暴露在网络中,所以无法共享文件和游戏主机创建,我们选择关闭防火墙功能;

    6114c2bb551339b9bc8e14f84adbe432.png

    dc09c6a85f6dddcd750a615fbb2f8e9a.png

    关闭防火墙功能后,主机ip就能正常ping通,主机创建游戏和文件共享对方就能看到了。

    fcae3fd275ad033f5c2451f7a97ac79e.png

    END

    看了“局域网内目标主机无法ping通怎么办”的人还看了

    1.局域网内目标主机为何无法ping通

    2.局域网内无法ping通怎么办

    3.局域网主机ping不通怎么办

    4.内网IP端口PING不通怎么办

    以上就是局域网内目标主机无法ping通怎么处理,局域网内目标主机无法ping通如何解决教程,希望本文中能帮您解决问题。

    展开全文
  • 局域网内 两台主机单向ping

    千次阅读 2020-09-28 00:07:23
    在同一个局域网内的多台主机主机A地址192.168.1.5 主机B地址192.168.1.6, 主机C地址192.168.1.7,主机D地址192.168.1.8 主机AB可以互相PING通,主机BC可以互相PING通,主机A可以PING主机C,但是主机CPING通...

    问题:

    在同一个局域网内的多台主机 ,主机A地址192.168.1.5  主机B地址192.168.1.6, 主机C地址192.168.1.7,主机D地址192.168.1.8 主机AB可以互相PING通,主机BC可以互相PING通,主机A可以PING通主机C,但是主机C不能PING通主机A。

    原因:

    主机A上面的ARP缓存表中的C主机IP解析的MAC地址错误(该MAC地址是D的MAC地址),

    A可以PING通C主机的IP地址,是因为A其实PING到了局域网中的D主机,而不是PING到了A主机;

    而C主机PING不通A主机,是因为C发给A的ICMP包,虽然A收到了,但是A主机却将ICMP的响应包发送给了D主机,所以C一直收不大ICMP的响应包,所以一直PING不同。

    这个可以通过在A主机、B主机和D主机上都运行如下命令,看看解析的MAC地址

    arp -a | grep 192.168.110.7

    可以看到B主机和D主机解析的MAC地址都是C主机的MAC地址,但是A主机解析MAC地址却不是C的MAC地址。

    至于是什么原因造成ARP解析错误,这个需要另外分析。

    解决:

    在A主机清空ARP缓存,

    arp -n|awk '/^[1-9]/{system("arp -d "$1)}'

    重新查看arp缓存表,查看是否正确解析C的IP地址

    arp -a | grep 192.168.110.7

    如果正确解析到C的MAC地址,说明解析正确,在C主机PING A主机应该就可以PING通了。

    补充:

    其他局域网内两台主机单项ping通原因,A主机可以PING通B主机,B主机不能PING通A主机。

    原因1:A主机开启了防火墙,需要关闭防火墙。

    原因2:B主机有多块网卡设置了同一个局域网的不同IP地址,导致PING命令不知道从那个网卡发送数据包。

    展开全文
  • 虚拟机的网络连接模式里面选择“桥接”模式就可以了

    虚拟机的网络连接模式里面选择“桥接”模式就可以了

    展开全文
  • 局域网 ping

    千次阅读 2013-07-26 13:04:46
    |我要投稿 一般情况下,如果我们使用Ping命令来查找网络问题所在或检验网络运行情况,我们需要使用...如果某些Ping命令出现运行故障,可以指明何处去查找问题,下面一起看一看局域网 ping  
  • ping主机ip时,访问无法访问目标主机,或请求超时。 如: 正在 Ping 192.168.3.168 具有 32 字节的数据: 来自 192.168.3.16 的回复: 无法访问目标主机。 解决方法: 1,关掉防火墙; 2,关闭外网,填写正确的默认...
  • 局域网ping不通ip的解决办法 局域网ping不通ip的解决办法 如果ping局域网ip不通,试试关闭专用网络防火墙,公用网络防火墙保持启用(或关闭),域网防火墙也可以保持启用(或关闭)。 ...
  • win7中的虚拟机linux能ping局域网中的主机,但局域网中的其他主机不ping通虚拟机里的linux问题。首先,这应该主要是虚拟机里面的linux的ip没有设置为自动获取。本人的问题是这样的。我win7里面的vmware装的linux...
  • 局域网ping不通别人的主机

    千次阅读 2014-11-05 20:36:49
    最近学习ping语句,发现了一个问题,就是我的主机所在局域网的网关ip为10.10.21.20
  •  window7下vm ware虚拟机安装 了linux系统,虚拟机发布了服务,在用宿主机以外的局域网中的其它主机访问该服务时发现无法连接,ping测试发现不通,互ping也不通,但是宿主机与虚拟机通信正常 二、解决方案  切换...
  • 局域网内客户机ping ubuntu主机时显示: 无法访问目标主机 关闭再打开ubuntu主机wifi可解决
  • 由于项目需要,需要通过主机名访问局域网内的一台电脑,但是测试发现可以ping通该台电脑的IP,但是ping主机名是ping不通的,翻了一些资料,有说什么DNS设置和WINS设置的,不过我对这些也太懂,后来终于找到一个...
  • 无法ping通: 1)是不是在同一子网下 2)检查防火墙,杀毒软件 3)路由器是否开启了AP隔离 小米路由器的 WiFi 默认使用 WPA 加密,把加密方法改为 WPA2 就好了。不知是小米路由的 bug,还是觉得 WPA 安全,...
  • 解决局域网服务器Ping不通的问题

    万次阅读 2021-03-23 09:53:38
    2、连接局域网服务器主机 3、主机IP地址与虚拟机IP地址在同一个网段,因此虚拟机要采用NAT模式。 4、对于VMWare而言,NAT模式对应的虚拟网络是VMnet8,因此就要启用VMnet8虚拟网络。 5、启动VMnet8虚拟网络 6...
  • 局域网ping主机名。如下:C:/Documents and Settings/Administrator>ping win2003server Ping request could not find host win2003server. Please check the name and try again.解决办法: 网上邻居 ...
  • 在B机上运行命令: ping 192.168.40.40 ok! 在B机上运行命令: ping 192.168.22.1 不通。 显示如下: Destination host unreachable. 在B机上运行命令: tracert 192.168.22.1 总在两个IP...
  • 在局域网内为什么主机A可以ping主机B,主机B却ping不通主机A呢?大家可以看一下ping命令的工作流程 假定主机A的IP地址是192.168.1.3,主机B的IP地址是192.168.1.2,都在同一子网内,则当你在主机A上运行...
  • 之前一直用的win7系统,最近重装系统安装了个win10,遇到了很多麻烦,尤其局域网访问,明明局域网主机ping通,就是出错,提示找不到网络路径,无法访问。 最后折腾了半天终于搞定终于搞定,特分享出来,以备...
  • Ping命令监测网络的使用顺序 ...如果某些Ping命令出现运行故障,它也可以指明何处去查找问题。  下面就给出一个典型的检测次序及对应的可能故障:  1. ping 127.0.0.1——这个Ping命令被送本地计算机
  • 1 我的笔记本的无线网卡是自动获取... 3我需要连接的局域网另一个主机为172.16.17.8,现在测试主机跟这个局域网的另一台主机是可以ping通的。  4 在主机对VM的设置中,Vmnet1和Vmnet8网卡都是自动获取IP,...
  • 关于云服务器上搭建keepalive高可用服务器后局域网其它主机ping vip不通的异常排查及解决办法。 有两台高可用server server1 192.168.11.10 server2 192.168.11.11 vip :192.168.11.12 配置好keepalive之后在...
  • 1、先在电脑任意位置下新建一个txt的文本,然后命名为“扫描局域网内存活的主机.bat”的bat文件。 2、右键该文件,选择"编辑",把以下内容复制进去,最后保存。 @echo off chcp 65001>nul echo 正在扫描。...
  • 经过 ipconfig 命令(Linux下 ifconfig 命令)查询两台互相ping不通的主机的 ip 和网关,发现两台主机的路由网关都是192.168.0.1,但是他们之间互相ping不通,后面经过检查注意,一台主机没有经过交换机,直接与...
  • 这样子Ubuntu就能上网了,之后假设在Ubuntu terminal中通过ifconfig命令查看ip 和在win 中用ipconfig命令查看ip可以发现,两个ip前面三个数是一样的,故两个主机的ip在同一个局域网中。比如我的两个ip的前三个数是...
  • 虚拟机 ip:192.168.202.135 本机ip:192.168.1.3 gitlab 服务安装在虚拟机 8090端口 虚拟机和主机的防火墙都关闭 局域网内的其他主机 访问 http;...本经验中,同一局域网主机1,主机2都为Windows系统,主机...
  • 大概思路是:获取本主机IP,然后将它和子网掩码进行与操作,可知道子网的主机号范围,然后逐个进行Ping,最多ping4次。 ping是基于icmp报文的,它被封装在ip中发送出去。 主要问题是,这样单线程Ping速度真...
  • 现象1:当对目标主机进行Ping连接测试时候,显示请求超时 解决方案1(可以首先检查解决方案2):一般的做法控制面板中直接关闭防火墙 1.打开控制面板选择,进入系统和安全 找到防火墙,进入启用和关闭防火墙...
  • 局域网网内ping不通的问题解决方法总结

    万次阅读 多人点赞 2019-04-28 11:17:49
    主机ping发出含一串数据的包(如123456789abcde之类),封装在二层上,对方收到后,把这串包原路送回来,源pc收到后,认为是对方可达。所以它涉及二层的mac地址和ip层的交互。当对方存在问题时(ip地址存在,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,095
精华内容 13,638
关键字:

局域网ping不到主机