python 如何获取linux 默认网关

简单的做法是使用重定向:
把后面的命令输出当做前面的输入
a = raw_input()
print a
使用命令 python input.py < ip route show | grep "default"

Ⅱ linux下python怎么写爬虫获取图片

跟linux有什么关系,python是跨平台的,爬取图片的代码如下:

import urllib.requestimport osimport randomdef url_open(url):
req=urllib.request.Request(url) #为请求设置user-agent,使得程序看起来更像一个人类
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0') #代理IP,使用户能以不同IP访问,从而防止被服务器发现
'''iplist=['1.193.162.123:8000','1.193.162.91:8000','1.193.163.32:8000']
proxy_support=urllib.request.ProxyHandler({'http':random.choice(iplist)})
opener=urllib.request.build_opener(proxy_support)
opener.addheaders=[('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER')]

urllib.request.install_opener(opener)'''

response=urllib.request.urlopen(req)
html=response.read() return htmldef get_page(url):

html=url_open(url).decode('utf-8')
a=html.find('current-comment-page')+23
b=html.find(']',a) #print(html[a:b])
return html[a:b]def find_imgs(url):
html=url_open(url).decode('utf-8')
img_addrs=[]

a=html.find('img src=') while a!=-1:
b=html.find('.jpg',a,a+140) if b!=-1: if html[a+9]!='h':
img_addrs.append('http:'+html[a+9:b+4]) else:
img_addrs.append(html[a+9:b+4]) else:
b=a+9

a=html.find('img src=',b) for each in img_addrs:
print(each+'我的打印') return img_addrsdef save_imgs(folder,img_addrs):
for each in img_addrs: #print('one was saved')
filename=each.split('/')[-1] with open(filename,'wb') as f:
img=url_open(each)
f.write(img)def download_mm(folder='ooxx',pages=10):
os.mkdir(folder)
os.chdir(folder)

url=""
page_num=int(get_page(url)) for i in range(pages):
page_num=page_num-1
page_url=url+'page-'+str(page_num)+'#comments'
img_addrs=find_imgs(page_url)
save_imgs(folder,img_addrs)if __name__=='__main__':
download_mm()

完成

运行结果

Ⅲ linux下的python里面如何用相关的网络模块来重启tp-link路由器

哈哈,你说的这个我也做过,给你段我写的代码

#-*-coding:utf-8-*-
#重启路由器脚本
#
importurllib2,base64


#192.168.1.1
#admin:admin(BASE64编码)
if__name__=='__main__':
#请求地址
url='http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=重启路由器'
#验证的用户名和密码
login_user='admin'
login_pw='admin'

auth='Basic'+base64.b64encode('admin:admin')
printauth
heads={'Referer':'http://192.168.1.1/userRpm/SysRebootRpm.htm',
'Authorization':auth
}

#请求重启路由器
request=urllib2.Request(url,None,heads)
response=urllib2.urlopen(request)
printresponse.read()

Ⅳ linux python怎么获得本级所有ip

>>> from socket import socket, SOCK_DGRAM, AF_INET
>>> s = socket(AF_INET, SOCK_DGRAM)
>>> s.connect(('google.com', 0))
>>> s.getsockname()
('192.168.1.113', 43711)

Ⅳ python怎么获取本机ip

importsocket
defget_ip():
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
try:
#doesn'tevenhavetobereachable
s.connect(('10.255.255.255',0))
IP=s.getsockname()[0]
except:
IP='127.0.0.1'
finally:
s.close()
returnIP

linux、windows均测试通过版权

Ⅵ 求知:python+selenium使用自己服务器多个IP的切换

可以考虑修改路由表的方法,Windows和Linux的route命令略有不同内。容
Win7系统
route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2
Linux系统
ip route change to 192.168.0.0/24 dev eth0 src 192.168.0.22

Ⅶ 想用python语言修改Linux下/etc/sysconfig/network-scrips/ifcfg-eth1下的IP内容并保存。请指点~~

eth1= raw_input("eth1 configure:\n")

with open("/etc/sysconfig/network-scrips/ifcfg-eth1","a") as f:
f.write(eth1)

Ⅷ linux 怎样用python提取ping的结果中的错误回应

如果是在标准错误输出的信息,应该在err里面去取的,而不是在ping_result

Ⅸ 在linux下,python怎么才能抓到网卡上的所有TCP数据包

Ethereal 自带许多协议的 decoder,简单,易用,基于winpcap的一个开源的软件.但是它的架构并不灵活,如何你要加入一个自己定义的的解码器,得去修改 Ethereal的代码,再重新编译,很烦琐.对于一般的明文 协议,没有什么问题,但是对于加密协议,比如网络游戏,客户端程序一般会在刚连接上的时候,发送一个随机密钥,而后的报文都会用这个密钥进行加密,如此. 要想破解,得要有一个可编程的抓包器.
libpcap是一个不错的选择,但是对于抓包这样需要反复进行”试 验->修改”这个过程的操作,c 语言显然不是明智的选择.
Python提供了几个libpcapbind。在windows平台上,你需要先安装winpcap,如果你已经安装了Ethereal非常好用
一个规范的抓包过程
import pcap
import dpkt
pc=pcap.pcap() #注,参数可为网卡名,如eth0
pc.setfilter('tcp port 80') #设置监听过滤器
for ptime,pdata in pc: #ptime为收到时间,pdata为收到数据
print ptime,pdata #...
对抓到的以太网V2数据包(raw packet)进行解包
p=dpkt.ethernet.Ethernet(pdata)
if p.data.__class__.__name__=='IP':
ip='%d.%d.%d.%d'%tuple(map(ord,list(p.data.dst)))
if p.data.data.__class__.__name__=='TCP':
if data.dport==80:
print p.data.data.data # by gashero
一些显示参数
nrecv,ndrop,nifdrop=pc.stats()
返回的元组中,第一个参数为接收到的数据包,(by gashero)第二个参数为被核心丢弃的数据包。