python modifysetup什么意思_【Python】绑定修改网卡绑定关系的python程序

本文介绍了一个使用Python编写的程序,用于查看和修改Linux系统的网络接口配置。通过`set_ethx.py`脚本,可以搜索网卡信息,或者根据指定参数设置IP地址、子网掩码,并更新ifcfg配置文件。
摘要由CSDN通过智能技术生成

标签:

python -s ethx -l hostname 用来查看网卡信息,例如光卡还是电卡

python set_ethx.py -f ethx -i x.x.x.x -m 255.x.x.x -l [host] -e ethx 根据需要用来配置ifcfg-ethx文件,DECIVE=(-e 后面的参数)

[代码][Python]代码

#!/usr/bin/env python

#-*-: coding: utf-8 -*-

import subprocess

import sys

import re

import optparse

import pxssh

import os

if sys.hexversion < 0x02040000:

print >> sys.stderr, 'Your python version is too old (%s)' % \

(sys.version.split()[0])

print >> sys.stderr, 'You need at least Python 2.4'

sys.exit(1)

class RemoteDispatch(object):

def __init__(self, host, usrname, password):

self.host = host

self.usr = usrname

self.pwd = password

def login(self):

self.s=pxssh.pxssh()

try:

self.s.login(self.host, self.usr, self.pwd)

except:

print "Login %s Failed !" % self.host

def trasmit_cmd(self, cmdline):

self.s.sendline(cmdline)

self.s.prompt()

return self.s.before.strip()

def logout(self):

self.s.logout()

class SetEthx(object):

def __init__(self, host, username, password, options):

self.opts = options

self.host = host

self.remote = RemoteDispatch(self.host, username, password)

self.sock = self.remote.login()

def search(self):

output = self.remote.trasmit_cmd("ethtool -i %s" % self.opts.search)

for i in output.split('\n')[1:]:

print i

def modify(self):

if self.opts.ip:

output = self.remote.trasmit_cmd("ifconfig %s" % self.opts.eth)

content = self.process(output)

self.remote.trasmit_cmd("echo '%s' > /etc//etc/sysconfig/network-scripts/ifcfg-%s" % (content, self.opts.file))

self.remote.logout()

else:

print "Error ! Please press -i x.x.x.x !"

sys.exit(1)

def process(self, output):

olist = output.split('\n')[1]

m = re.match(".*HWaddr (.*).*", olist)

if m:

hwaddr = m.group(1)

if hwaddr is None:

print "have no hwaddr !"

sys.exit(1)

else:

return "DEVICE=%s\nBOOTPROTO=static\nIPADDR=%s\nNETMASK=%sHWADDR=%s\nONBOOT=yes\n" % (self.opts.eth, self.opts.ip, self.opts.mask, hwaddr)

else:

print "Don't finde HWaddr work !"

sys.exit(1)

def parse_cmd():

p = optparse.OptionParser(description="ethernet setup", prog="set_ethx", version="1.0",

usage="%prog [options] [ethx]")

p.add_option("-s", "--search", action="store", dest="search", help="search ethernet tpye",

type="str")

p.add_option("-f", "--file", action="store", dest="ifcfg-ethx file", help="modified ifcfg file",

type="str")

p.add_option("-i", "--ip", action="store", dest="ip", help="setup ip", type="str")

p.add_option("-e", "--eth", action="store", dest="eth", help="set up ethx", type="str")

p.add_option("-m", "--mask", action="store", dest="mask", help="set up mask", type="str")

p.add_option("-l", "--host", action="store", dest="host", help="host name", type="str")

(opts, args) = p.parse_args()

return opts, args

def usage():

print "python set_ethx.py -s ethx -l [host]\npython set_ethx.py -f ethx -i x.x.x.x -m 255.x.x.x -l [host] -e ethx"

def main():

flag = False

USERNAME = 'xxx'

PASSWORD = 'xxxxxxx'

opts, args = parse_cmd()

try:

if opts.host:

obj = SetEthx(opts.host, USERNAME, PASSWORD, opts)

if opts.search:

obj.search()

flag = True

if flag == False:

if opts.file and opts.ip and opts.eth and opts.mask:

obj.modify()

except:

print "set_ethx.py --help"

usage()

sys.exit(1)

if __name__ == '__main__':

main()

Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种非常流行的编程语言,可以用于实现各种网络程序设计,其中包括socket网络程序设计。下面是我用300字中文回答该问题的解答: Python的socket模块提供了一组函数和类,用于实现网络通信。它允许我们创建不同类型的套接字,如TCP套接字或UDP套接字,并使用这些套接字进行数据的发送和接收。我们可以使用socket模块中的函数来创建服务器端和客户端,以及处理网络连接。我们可以指定主机名、端口号和通信协议来创建套接字,并使用绑定、监听和接受连接等方法来实现服务器端代码。对于客户端代码,我们可以使用套接字连接到服务器并发送和接收数据。 当我们实现了socket网络程序时,我们可以使用Wireshark这样的网络协议分析器来捕获和分析网络数据包。Wireshark可以捕获计算机上的网络流量,并显示详细的协议信息。我们可以使用Wireshark在网络数据链路层、网络层和传输层查看到底是如何发送数据的,以及数据的正确性。 为了使用Wireshark捕获Python实现的socket网络程序的数据包,我们需要正确配置Wireshark,以便捕获与我们正在运行的网络程序相关的流量。我们可以选择具体的本地网卡或仅捕获特定目标IP地址的流量。一旦我们设置好了Wireshark并开始捕获网络流量,我们可以通过筛选器来过滤出与我们的网络程序相关的数据包。从捕获的数据包中,我们可以看到各种协议的详细信息,如TCP、UDP或IP协议的头部字段,以及数据的内容。 总之,Python可以通过socket模块实现各种类型的网络程序设计,而Wireshark则可以用来捕获和分析这些网络程序的数据包,让我们能够更好地了解网络通信的细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值