socket

简单的http服务器

隐身守侯 提交于 2020-01-19 03:51:54
import socket import re compile=re.compile('GET (.+) HTTP/1.1\\r') def getinfo(): text='' with open(r'html路径','r') as f: a=f.readlines() for i in a: text=text+str(i) return text def getinfo2(): with open(r'图片路径','rb') as f: a=f.read() return a print(getinfo()) def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('10.6.3.140',800)) print('listening....') sock.listen(5) while True: conn,addr = sock.accept() data = conn.recv(1024) recvstring=data.decode('utf-8') print(recvstring) refer=compile.findall(recvstring) print(refer) if refer!=[]: if refer[0]=='/test': print(

python基础——socket

人盡茶涼 提交于 2020-01-19 03:48:20
一.socket概念 1.理解socket 络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。 建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可 供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式; Socket是发动机,提供了网络通信的能力。 Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述 IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运 行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同 的服务。Socket正如其英文原义那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号, 有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座, 就可以得到不同的服务。 Socket是应用层与 TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中, Socket其实就是一个门面模式, 它把复杂的 TCP/IP协议族隐藏在

Python socket 基础(Client) - Foundations of Python Socket

孤街浪徒 提交于 2020-01-19 03:45:28
1 Python socket 基础- Foundations of Python Socket 2 3 建立socket - establish socket 4 import socket 5 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 6 # s = 通信类型(type) + 协议家族(protocol) 7 # AF_INET = IPV4 ; AF_INET6 = IPV6 8 # SOCK_STREAM = TCP ; SOCK_DGRAM UDP 9 10 s.connect(("www.zzyzz.top",80)) 11 # s.connect((IP,PORT)) 12 # python 中 socket 对象的 connect()方法会利用 DNS 把域名解析成 IP 13 14 寻找端口号 - detect the port 15 port = socket.getservbyname('http','TCP') 16 # 查询系统特定服务的端口号, 小于1024 由 IANA(Internet Assigned Numbers Authority)分配. 17 # socket.getservbyname( protocol name, port name) 18 19 从 socket

python - socket 基础

空扰寡人 提交于 2020-01-19 03:44:43
最基本的socket实例: Server端 import socket phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.bind(('127.0.0.1',8080)) phone.listen(2) print ('Start Server: ') connect,address = phone.accept() msg = connect.recv(1024) print ('客户端发来的消息是:',msg) connect.send(msg.upper()) connect.close() phone.close() Client端 import socket phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.connect(('127.0.0.1',8080)) phone.send('test message!'.encode('utf-8')) msg = phone.recv(1024) print ('服务端发来的消息是:',msg) phone.close() Server端改进版 # -*-coding:utf-8-*- __author__ = 'qikang' import socket phone =

SNMP信息泄露漏洞

こ雲淡風輕ζ 提交于 2020-01-19 03:30:30
SNMP协议简介 名称:SNMP(Simple Network Management Protocol)简单网络管理协议 端口:161 协议:UDP 用途: SNMP代理者以变量呈现管理资料。管理系统透过GET,GETNEXT和GETBULK协定指令取回资讯,或是代理者在没有被询问的情况下,使用TRAP或INFORM传送资料。管理系统也可以传送配置更新或控制的请求,透过SET协定指令达到主动管理系统的目的。配置和控制指令只有当网络基本结构需要改变的时候使用,而监控指令则通常是常态性的工作。 SNMP使用方法简介 "Mac、Linux、Unix下使用snmpget、snmpwalk等命令" #snmpwalk -v 2c -c 'public' 对端ip #snmpget -v 1 -c 'community' 对端ip OID号 "Windows下请下载snmputil.exe,安装后在CMD中使用" #snmputil walk 对端ip public OID号 SNMP 弱口令导致的信息泄露威胁 SNMP版本 SNMP弱口令 V1 community V2c public 上面是版本对应的弱口令表,利用这些弱口令可以获取到系统信息,甚至下发配置 # -*- coding:utf-8 -*- #引入依赖的库、包、模块 import sys import socket

Linux System Calls Hooking Method Summary

坚强是说给别人听的谎言 提交于 2020-01-19 02:57:33
1. 相关学习资料 http://xiaonieblog.com/?post=121 http://hbprotoss.github.io/posts/li-yong-ld_preloadjin-xing-hook.html http://www.catonmat.net/blog/simple-ld-preload-tutorial/ http://os.51cto.com/art/201004/195510.htm http://sebug.net/paper/pst_WebZine/pst_WebZine_0x03/html/%5BPSTZine%200x03%5D%5B0x03%5D%5B%E9%AB%98%E7%BA%A7Linux%20Kernel%20Inline%20Hook%E6%8A%80%E6%9C%AF%E5%88%86%E6%9E%90%E4%B8%8E%E5%AE%9E%E7%8E%B0%5D.html http://blog.chinaunix.net/uid-26310563-id-3175021.html http://laokaddk.blog.51cto.com/368606/d-26/p-2 http://m.blog.csdn.net/blog/panfengyun12345/19480567 https://www.kernel.org

最新-iOS Socket

冷暖自知 提交于 2020-01-19 01:50:30
Socket Socket又称"套接字” 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。 应用程序通常通过"套接字"向网络发出请求或者应答网络请求 网络通信的要素 网络上的请求就是通过Socket来建立连接然后互相通信 IP地址(网络上主机设备的唯一标识) 端口号(定位程序) 用于标示进程的逻辑地址,不同进程的标示 有效端口:0~65535,其中0~1024由系统使用或者保留端口,开发中建议使用1024以上的端口 传输协议(用什么样的方式进行交互) 通讯的规则 常见协议:TCP、UDP 传输协议:TCP&UDP TCP(传输控制协议) 建立连接,形成传输数据的通道 在连接中进行大数据传输(数据不受限制) 通过三次握手完成连接,是可靠协议,安全送达 必须建立连接,效率会稍低 UDP(用户数据报协议) 将数据及源和目的封装成数据包中,不需要建立连接 每个数据报的大小限制在64K之内 因为无需连接,因此是不可靠协议 不需要建立连接,速度快 Socket通信流程图 Socket通信流程图.png 补充: 1.HTTP底层就是通过socket建立连接通信管道,实现数据传输 2.HTTP是一个TCP的传输协议(方式),它是一个可靠,安全的协议 实现socket的监听方法 (1)使用C语言实现, (2)使用 CocoaAsyncSocket 第三方框

Socket 专题

♀尐吖头ヾ 提交于 2020-01-19 01:16:21
Socket小白篇-附加TCP/UDP简介 Socket 网络通信的要素 TCP和UDP Socket的通信流程图 1.Socket 什么是Socket Socket:又称作是套接字,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为Socket。 Socket是对TCP/IP的协议的封装,Socket本身并不是协议,而是一个调用的接口,只有通过Socket我们才能使用TCP/IP。   Socket是和网络紧密相关的,网络上的两个程序一般就是指web服务器和我们的客户端,数据交换的过程就是我们客户端发一个请求到HTTP服务器、服务器返回数据,这个过程就是数据交换的过程。客户端和服务器之间的数据交换是需要一个双向的通信连接,两者之间是需要一个通道去实现连接的。 通信管道就是通信连接,有了这个管道,我们就可以进行数据传输。客户端到服务器端必须要有一个通道才能实现数据的交互。如果有座大山挡着了道路我们就会在山中开辟一个隧道,这样我们才能走到山的另一端。Socket就可以理解为这个隧道的两个端口,一个入口一个出口。 一个网络请求并不是我们所认为的请求-相应的过程,它的底层是开辟了一个通信管道的。所以应用程序通常是通过Socket(套接字)向网络发出请求或者应答网络请求。 流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。

iOS:即时通讯之<了解篇 SocKet>

余生颓废 提交于 2020-01-19 01:15:44
什么是socket? 计算机专业术语就是: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Socket的英文原义是“孔”或“插座”。作为BSD UNIX的 进程通信 机制,取后一种意思。通常也称作" 套接字 ",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的 主机 一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务 通俗语: Socket称"套接字” 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 socket端 ,平时我们向服务器发送一个网络请求,然后服务器响应请求,返回服务器数据应用程序通常通过"套接字"向网络发出请求或者应答网络请求 细节: 1.Socket相当于一个“管道”或者说“隧道”两边的连接,一个进入,一个出来 2.用户名和密码是存储在服务器的数据库中 3.我们要保证客户端程序是访问web应用程序还是数据库应用程序呢

Android WebRTC 音视频开发总结(四)-- webrtc传输模块

戏子无情 提交于 2020-01-19 00:59:49
在介绍WebRTC通讯之前我们先来看一个P2P视频聊天包括的主要过程,转载请说明出处(博客园RTC.Blacker): 音视频数据采集->编码->发送->接收->解码->播放。 编码、解码、以及会用到加密、解密、回声消除等针对不同系统处理方式都一样,与平台无关, 但像Socket通信涉及到的数据发送、接收不同平台则有不同的处理方式, 如Socket模型,windows里面用的是WSASocket, Linux下用的则是socket,所以他通过模版模式来创建不同类型, 下面主要是介绍WebRTC自带的一个传输模块,实际应用中您可以根据自己的需求注册不同的传输模块。 其中:udp_socket_wrapper.h主要负责Socket相关操作,如Socket创建、启动、端口绑定、停止。 udp_socket2_windows.h主要负责windows平台上的Socket相关操作,与之对应的就是linux平台上的udp_socket_posix.h udp_transport.h主要负责包的发送和接收,如果你想实现自己的数据包收发逻辑,可重写该类,如他里面的LoopBack方式就是通过重写该模块来实现的。 对客户端调用来说主要就是做四件事情:   1、设置音视频远端地址和端口(包括远端音视频的RTP、RTCP端口和本地接收音视频的RTP、RTCP端口)。   2、启动音视频数据的发送。