python网络编程学习2016/11/18

1.打印本机设备名以及IPv4地址

#!/usr/bin/python2.7

# -*- coding=utf-8 -*-

import socket

def print_machine_info():

host_name = socket.gethostname()                       #本机设备名

ip_address = socket.gethostbyname(host_name)   #设备名对应的ip 地址

print "%s \‘s ip is %s" % (host_name,ip_address)  #打印

if __name__ == ‘__main__‘:

print_machine_info()

2.获取远程设备的IP地址信息

#!/usr/bin/python2.7

import socket

def print_machine_info():

remote_hostname = ‘www.baidu.com‘

try:

print "%s \‘s ip is %s" % (remote_hostname,socket.gethostbyname(remote_hostname))

except socket.error, err_msg:

print "%s: %s" %(remote_hostname, err_msg)

if __name__ == ‘__main__‘:

print_machine_info()

3.计算cisco无线AP需要dhcp的option43

#/usr/bin/python2.7

# -*- coding=utf-8 -*-

import socket

from binascii import hexlify

import sys

def wlc_option43_hex():

wlc_number = raw_input(‘Enter the wlc number:‘)

if wlc_number == ‘1‘:

put_number = raw_input(‘Enter the wlc ip:‘)

for ip_addr in [put_number]:

wlc_ip_addr = socket.inet_aton(ip_addr)

unpacked_ip_addr = socket.inet_ntoa(wlc_ip_addr)

hex_prefix = ‘f104‘

print "IP Address: %s => option43 hex %s"\

%(unpacked_ip_addr,str(hex_prefix)+hexlify(wlc_ip_addr))

else:

while True:

put_number = raw_input(‘Enter the wlc ip:‘)

if put_number!= ‘q‘:

for ip_addr in [put_number]:

wlc_ip_addr  = socket.inet_aton(ip_addr)

unpacked_ip_addr = socket.inet_ntoa(wlc_ip_addr)

hex_prefix = ‘f108‘

print "IP Address: %s => option43 hex %s"\

%(unpacked_ip_addr,str(hex_prefix)+hexlify(wlc_ip_addr))

else:

sys.exit()

if __name__ == ‘__main__‘:

wlc_option43_hex()

效果:

当无线控制器的数量为1时:

Enter the wlc number:1

Enter the wlc ip:10.10.9.252

IP Address: 10.10.9.252 => option43 hex f1040a0a09fc

当无线控制器的数量为2时:

Enter the wlc number:2

Enter the wlc ip:10.10.8.252

IP Address: 10.10.8.252 => option43 hex f1080a0a08fc

Enter the wlc ip:10.10.123.252

IP Address: 10.10.123.252 => option43 hex f1080a0a7bfc

Enter the wlc ip:q

时间: 2024-10-12 23:11:47

python网络编程学习2016/11/18的相关文章

python网络编程学习《一》

最近,刚实习完,很喜欢实验楼,但是自己的方向仍然不能确定,自己觉得可选择的空间很大,尽管已经是大四的人了,想到别人都在忙着买职业装,买高跟鞋面试,学习化妆什么的,看看自己,反而开始慢慢关注运动,食疗以及护肤了,哈哈,程序员就是酱紫,身体是革命的本钱.现在的方向至少是确定了,数据分析,但是图像处理这个项目既然当初选择当负责人,现在也要负责啊:那么目前学习网络编程,也是因为学长希望在“wind”的登陆上面实现c/s架构,那么我就试试吧,说不定,自己在量化投资或者网络上面也是可以的捏.废话不说,进入学

Python网络编程学习_Day10

一.进程与线程 1.区别 进程:一个程序要运行时所需要的所有资源的集合,进程是资源的集合. 一个进程至少需要一个线程,这个线程称为主线程 一个进程里面可以有多个线程 两个进程之间的数据是完全独立,不能互相访问. 线程:一道单一的指令控制流,寄生在进程中. 单一进程里多个进程是共享数据的,多个线程在涉及修改同一个数据时,要加锁. 2.线程调用方法 import threading import time def sayhi(num): #定义每个线程要运行的函数 print("running on

Python网络编程学习_day11

一.协程 1.理论知识 协程,又称伪线程,是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈,协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈.因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种说法:进入上一次离开时所处逻辑流的位置. 优点: 无需线程上下文切换的开销 无需原子操作锁定及同步的开销 "原子操作(atomic operation)是不需要synchronize

python网络编程,通过服务名称和会话类型(tcp,udp)获取端口号,简单的异常处理

作为一个php程序员,同时有对网络方面感兴趣,php就比较蛋疼了,所以就抽了些时间看python 之前学python基础因为工作原因,断断续续的看了个基础,差不多是可以写代码了 最近在看<python网络编程基础>,准备是边实践边学习了,对书上的一个例子做了个复制 cli下运行的代码 1 #! /usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # ^设置编码:代码中有中午会导致编译错误 4 5 # 引入socket,sys模块 6 import so

Python网络编程02/基于TCP协议的socket简单的通信

目录 Python网络编程02/基于TCP协议的socket简单的通信 1.昨日内容回顾 2.socket 2.1 socket套接字 2.2 基于TCP协议的socket简单通信 Python网络编程02/基于TCP协议的socket简单的通信 1.昨日内容回顾 1.单播:单独联系某一个人 2.广播:给所有人发送消息(群发) 3.比特流:bit就是0101跟水流一样的源源不断的发送01010101 4.以太网协议:将数据进行分组:一组称之为一帧,数据报 head|data head:18字节:

网络编程学习小结

几种网络编程方式: ISAPI.CGI.WinInet.Winsock 它们之间的差别: 1)  ISAPI主要是开发基于浏览器client与server端程序.效率比CGI方式高,并且也扩展了CGI没有的一些功能.(基于TCP/IP模型中的应用层) 2)  CGI主要是开发基于浏览器client与server端程序.(基于TCP/IP模型中的应用层) 3)  WinInet主要是开发client程序.(基于TCP/IP模型中的应用层) 4)  Winsock主要是基于socket来开发clie

Python 网络编程

Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法. 高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发. 什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. socket()函数 Pyt

Python -- 网络编程 -- 抓取网页图片 -- 图虫网

字符串(str)编码成字节码(bytes),字节码解码为字符串 获取当前环境编码:sys.stdin.encoding url编码urllib.parse.quote() url解码urllib.parse.unquote() 列表去重:pages = list(set(pages)) 创建文件夹(可多级创建):os.makedirs(folder)  os.mkdir()只能单级创建 首先分析网页(图虫网)的URL规律: 根网页地址形如: http://tuchong.com/tags/人像/

Python 网络编程(一)

Python 网络编程 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者. socket和file的区别: file模块是针对某个指定文件进行[打开][读写][关闭] socket模块是针对 服务器端 和 客户端Socket 进行[打开][读写][关闭] socket服务端和客户端的网