python之socket实现unix socket及dash字符串操作

python的socket库可以实现tcp和udp,在linux下unix socket也是可以的,有些程序在进程间通信就是使用unix socket,如果我们想查看其通信的信息来进行调试,则可以用python来伪造其接口,获取内容

参考:https://docs.python.org/2/library/socket.html

import socket
import os 
if __name__ == ‘__main__‘:     
    sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)  
    if os.path.exists(‘/tmp/UNIX.d‘):  
        os.unlink(‘/tmp/UNIX.d‘)  
    sock.bind(‘/var/run/rrdcached.sock‘)     
    sock.listen(5)     
    while True:  
       connection,address = sock.accept()      
       print "Data : %s"%connection.recv(1024) 
       #connection.send("hello")  
       connection.close()

参考:http://www.2cto.com/os/201305/210033.html

bash下字符串操作:

支持${parameter:offset:length},${parameter:offset}

[email protected] ~/test $ string=‘hello‘

[email protected] ~/test $ echo ${string:1:3}

ell

[email protected] ~/test $ echo ${string:1}

ello

[email protected] ~/test $ echo $0

/bin/bash

dash: 不支持, 替代方法:采用expr或cut外部命令代替

$ string=‘hello‘

$ expr substr "$string" 2 3

ell

$ echo "$string" | cut -c2-4

ell

$ expr substr "$string" 2 "${#string}"

ello

$ echo "$string" | cut -c2-

ello

$ echo $0

dash

$

时间: 2024-12-14 08:11:56

python之socket实现unix socket及dash字符串操作的相关文章

哗啦啦Python之路 - Day 9 - socket

1. socket是什么 Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用[打开][读写][关闭]模式来操作. socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO.打开.关闭) socket和file的区别: file模块

Python学习笔记14(socket编程)

socket更详细的介绍在这篇就不做说明了,有兴趣的同学可以去网上查找相关资料或者直接https://docs.python.org/3/library/socket.html查看 简单的理解,socket就是将更底部的FTP.UDP等协议进行的一次封装,不用他们是如何进行三次握手四次挥手,只暴露给我们一个send发送数据和recv接收数据.因为双方进行通信最本质的作用就是收发数据. 一.声明一个socket对象 sk = socket.socket(socket.AF_INET,socket.

python自动化运维之Socket网络编程

1.Socket      socket起源于Unix,而Unix/Linux基本哲学之一就是"一切皆文件",对于文件用[打开][读写][关闭]模式来操作.socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO.打开.关闭)基本上,Socket 是任何一种计算机网络通讯中最基础的内容.例如当你在浏览器地址栏中输入 http://www.cnblogs.com/ 时,你会打开一个套接字,然后连接到 http://www.cnb

python自动化开发学习-9 socket网络编程

一. 简介 python提供了两个级别访问的网络服务: 低级别的网络服务支持节本的socket,它提供了标准的BSD sockets API,可以访问底层操作系统socket接口的全部方法. 高级别的网络服务模块socketserver,它提供了服务器中心类,可以简化网络服务器的开发. socket介绍 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Unix

Python开发基础----异常处理、socket套接字基础1

异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解释器是不会进行检测的,只有在执行的过程中才能抛出的错误 异常 异常是python解释器在运行程序的过程中遇到错误所抛出的信息,如: Python异常种类: 常用异常: 1 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x 2 IOError 输入/输出异

Python基础:网络编程socket基本篇

socket也叫套接字,是对各种协议的封装,实现收发数据. Python里socket工作过程:(图片来自网络) socket在Python中实际上是一个模块,实现发送和接收数据的功能. 因为socket是一个类,所以只导入模块需要使用socket.socket()创建一个socket对象. 创建一个socket格式: socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None) 参数名 选项名称 作用 family AF_UNIX

python之我理解的socket

一.为什么学socket? 完成C/S架构的开发. 思考:什么是C/S架构. 二.学前准备 计算机系统=硬件+系统软件+应用软件,将这样的计算机比作成一个人,在地球这样的大环境下你只能和自己玩(比如自带的单机游戏扫雷什么的),但是地球上不会就只有一个人,地球上的人需要互相交流(语言),要想所有人都听得懂所以人类出了一个官方的语言英语,计算机之间交流就是通过互联网协议. 重点:互联网的核心就是由一堆协议组成,协议就是标准,比如全世界人通信的标准是英语 为什么学习socket要先学习互联网协议? 1

Unix Socket 端口 reuse

如果服务端的程序关闭后,端口不能马上释放掉,需要等一会才能小时,在这之间再启动服务程序是起不来的,但是可以用这个函数,边面这种情况,服务程序关闭后,可以马上再起一次,不会冲突了. listenfd = socket(AF_INET, SOCK_STREAM, 0); /* Enable address reuse */ int on = 1; setsockopt( listenfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) ); Unix Socke

python标准库之【socket】

socket通常也称作”套接字“.网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.socket 是网络连接端点.例如当你的Web浏览器请求www.fishc.com上的主页时,你的Web浏览器创建一个socket并命令它去连接 www.fishc.com的Web服务器主机,Web服务器也对来自的请求在一个socket上进行监听.两端使用各自的socket来发送和 接收信息. socket模块提供了几个函数用于使用主机名和地址来工作:         ge