查询ip地址( 二 )


点网络属性
Alpine Linux Bash小技巧——获取IP地址原理:通过ping命令查询某个域名,在返回结果中获取IP地址信息,包括IPv6地址
#文件名:getip.sh#!/bin/shDOMAIN='tv.ipv6.edu.cn'IPADDR=`ping $DOMAIN -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'`echo $IPADDR
执行完程序后返回结果如下:
sh ./getip.sh2001:da8:217:1::234
其中 DOMAIN也可以是ipv4的域名,比如换成'www.baidu.com',执行后返回结果如下:
sh ./getip.sh182.61.200.6
如何查看局域网内所有IP?很简单,只需这样操作想要查看局域网内的所有IP,可通过Windows系统自带的网络扫描工具进行查询 。
以系统版本为Windows10的笔记本电脑为例,查询局域网内所有IP地址的详细操作方法如下:
1.按下键盘的WIN+R键,调出系统的运行窗口,然后输入“CMD”,并点击确定 。
2.在CMD命令窗口,输入“ipconfig /all”,回车后查看本机的首选IP地址 。
3.在CMD命令窗口,输入“for /L %i IN (1,1,254) DO ping -w 1 -n 1 192.168.3.%i”,并按下回车键 。注意:该命令中输入的IP地址前3位必须与本机的IP地址相同 。
4.当以上命令运行完成后,输入“arp -a”,然后按下回车键 。
5.ARP命令执行结束后,即可输出域网中所有主机的IP地址 。
【查询ip地址】
注意事项
除了以上方法外,还可通过登录局域网管理设备快速查看已接入局域网的设备IP 。除此之外,第三方网络扫描软件同样可以进行该类型操作 。
如何检测代理IP有效性?附代码提供免费代理 IP 的网页有很多,但是经过测试会发现并不是所有的免费代理 IP 都是有效的,甚至更不是匿名IP(即获取远程访问用户的 IP 地址是代理服务器的 IP 地址,不是用户本地真实的 IP 地址) 。所以要使用我们爬取下来的免费代理 IP,就需要对这个 IP 进行检测 。
实现检测免费代理 IP 是否可用时,首先需要读取保存免费代理 IP 的文件,然后对代理 IP 进行遍历并使用免费的代理 IP 发送网络请求,而请求地址可以使用查询 IP 位置的网页 。如果网络请求成功说明免费的代理 IP 可以使用,并且还会返回当前免费代理 IP 的匿名地址 。代码如下:


# -*- coding: UTF-8 -*-
"""


import requests # 导入网络请求模块
import pandas as pd # 导入pandas模块
from lxml import etree # 导入HTML解析模块


ip_table = pd.read_excel("ip.xlsx") # 读取代理IP文件内容
ip_list = ip_table["ip"] # 获取代理IP信息
# 头部信息
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36"
}
# 循环遍历代理IP并通过代理发送网络请求
for ip in ip_list:
# 这里添加了http和https两个代理,这样写是因为有些网页采用 http协议,有的则采用https协议,
# 为了在这两类网页上都能顺利使用代理,所以一般都同时写上 。当然,如果确定了某网页的请求类型,可以只写一种
proxies = {'http': 'http://{ip}'.format(ip=ip),
'https': 'https://{ip}'.format(ip=ip)}
try:
response = requests.get("https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=ip%E5%9C%B0%E5%9D%80",
headers=headers, timeout=3, proxies=proxies)
if response.status_code == 200: # 判断是否请求成功,请求成功说明代理IP可用
response.encoding = "utf8" # 进行编码
html = etree.HTML(response.text) # 解析HTML
info = html.xpath('//*[@id="1"]/div[1]/div[1]/div[2]/table//tr/td//text()')[1:]
info = " ".join(info).replace("\xa0", "").strip().replace("本机IP:", "本机IP: ")

推荐阅读