bind

Android AIDL 使用

被刻印的时光 ゝ 提交于 2020-12-19 13:10:39
一、概述: AIDL是Android中IPC(Inter-Process Communication)方式中的一种,AIDL是Android Interface definition language的缩写。 其主要作用是用于进程间额通讯。 在Android系统中,每个进程都运行在一块独立的内存中,在其中完成自己的各项活动,与其他进程都分隔开来。可是有时候我们又有应用间进行互动的需求,比较传递数据或者任务委托等,AIDL就是为了满足这种需求而诞生的。通过AIDL,可以在一个进程中获取另一个进程的数据和调用其暴露出来的方法,从而满足进程间通信的需求。 二、语法: 1、支持的数据类型: 八种基本数据类型: byte、char、short、int、long、float、double、boolean String,CharSequence 实现了Parcelable接口的数据类型 List 类型。List承载的数据必须是AIDL支持的类型,或者是其它声明的AIDL对象 Map类型。Map承载的数据必须是AIDL支持的类型,或者是其它声明的AIDL对象 2、 AIDL文件可以分为两类。一类用来声明实现了Parcelable接口的数据类型,以供其他AIDL文件使用那些非默认支持的数据类型。还有一类是用来定义接口方法,声明要暴露哪些接口给客户端调用,定向Tag就是用来标注这些方法的参数值。 3、

python网络-Socket之udp编程(24)

假如想象 提交于 2020-12-19 12:59:09
一、udp简介 udp --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。 udp不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。 udp在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。 udp是一种面向无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。 二、udp特点: udp是面向无连接的通讯协议,udp数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。 udp传输数据时有大小限制,每个被传输的数据报必须限定在64KB之内。 udp是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。udp是面向消息的协议,通信时不需要建立连接,数据的传输自然是不可靠的,udp一般用于多点通信和实时的数据业务,比如: 语音广播 TFTP(简单文件传送) SNMP(简单网络管理协议) RIP(路由信息协议,如报告股票市场,航空信息) DNS(域名解释) 三、udp网络程序-发送数据 创建一个udp客户端程序的流程是简单,具体步骤如下: 创建客户端套接字 发送/接收数据 关闭套接字 代码如下: # coding=utf-8

python网络编程(UDP+广播)

半世苍凉 提交于 2020-12-19 12:37:15
UDP广播案例,一端发送,多端接受: 发送端: # UDP广播案例 from socket import * from time import sleep # 设定目标地址 dest=( ' 176.215.122.255 ' ,6666 ) s = socket(AF_INET,SOCK_DGRAM) s.setsockopt(SOL_SOCKET,SO_BROADCAST, 1 ) data = ' 本人到此一游 ' while True: sleep( 2 ) s.sendto(data.encode(),dest) s.close() 接收端: # udp广播案例 from socket import * s = socket(AF_INET,SOCK_DGRAM) # 设置套接字 s.setsockopt(SOL_SOCKET,SO_BROADCAST,1 ) # 选择一个接收地址 s.bind(( ' 0.0.0.0 ' ,9821 )) while True: try : msg,addr =s.recvfrom(1024 ) print ( ' from %s bg %s ' % (addr,msg.decode())) except KeyboardInterrupt: break except Exception as e: print (e) s.close(

Python网络编程—UDP套接字广播

谁都会走 提交于 2020-12-19 11:31:17
广播定义 : 一端发送多点接收 广播地址 : 每个网络的最大地址为发送广播的地址,向该地址发送,则网段内所有主机都能接收。 """ 创建udp套接字 设置套接字可以接收广播 选择接收端口 """ from socket import * s = socket(AF_INET,SOCK_DGRAM) # 让套接字接收广播 s.setsockopt(SOL_SOCKET,SO_BROADCAST,1 ) s.bind(( " 0.0.0.0 " ,8888 )) while True: msg,addr =s.recvfrom(1024 ) print (msg.decode()) s.close() broadcast_recv 1 """ 2 发送广播 3 """ 4 from socket import * 5 import time 6 dest=( ' 176.100.7.255 ' ,8888 ) 7 s= socket(AF_INET,SOCK_DGRAM) 8 s.setsockopt(SOL_SOCKET,SO_BROADCAST,1 ) 9 data= """ 10 人生苦短,我用Python. 11 """ 12 while True: 13 time.sleep(2 ) 14 s.sendto(data.encode(),dest) 15 print (data

2018-2019-2 网络对抗技术 20165316 Exp5 MSF基础应用

戏子无情 提交于 2020-12-19 09:51:27
2018-2019-2 网络对抗技术 20165316 Exp5 MSF基础应用 目录 原理与实践说明 实践原理 实践内容概述 基础问题回答 攻击实例 主动攻击的实践 ms08_067_netapi:自动化漏洞溢出攻击 payload:generic/shell_bind_tcp(成功) ms17_010_eternalblue:“永恒之蓝”自动化攻击 payload:windows/x64/shell/reverse_tcp_uuid(成功) windows/x64/vncinject/reverse_tcp_uuid(成功且唯一) 攻击浏览器的实践 ms14_064 payload:windows/meterpreter/reverse_tcp(成功) payload:windows/meterpreter/reverse_https(失败) 攻击客户端的实践 Adobe payload:windows/meterpreter/bind_tcp(成功) 成功应用任何一个辅助模块 在ms08_067中应用use auxiliary/scanner/portscan/tcp搜索靶机开放端口(在ms08_067_netapi:自动化漏洞溢出攻击中有体现) 离实战还缺些什么技术或步骤 实验总结与体会 一.原理与实践说明 1.实践内容 本实践目标是掌握metasploit的基本应用方式

TCP&UDP&Socket讲解(上)

六月ゝ 毕业季﹏ 提交于 2020-12-19 07:43:43
这两天我将整理TCP&UDP&Socket,大约花大家10-15分钟之间,希望本篇文章让大家对TCP使用的理解提高一个层次。 建议大家拿出纸和笔,画一下!!! 一、TCP 1. TCP位于 传输层 ,英语全称为Transmission Control Protocol ,又名传输控制协议;UDP英语全称为User Datagram Protocol,又名用户数据报协议。 看到一个名词(红色标出)传输层,在讲解传输层之前,我们看一下协议的体系结构如下图: 摘自计算机网络第七版第一章图 OSI的七层协议体系结构的概念更清楚,也比较完整,但是因为复杂又不太使用 TCP/IP是四层体系结构,应用层,运输层,网际层以及网络接口层,但是网络接口层并没有太多的实际内容 所以在我们使用总采取折中的办法,综合了OSI和TCP/IP的优点,采用一种五层协议的体系结构 2. 五层协议的体系结构 摘自计算机网络第七版第一章图 应用层:为用户的应用程序直接提供服务;HTTP、SMTP等协议,数据单元为报文 运输层:负责的任务就是两个主机中进程之间的通讯提供数据传输服务,TCP或者UDP,数据单元为报文段,用户数据报 网络层:负责在分组交换网上的不同主机提供了通信服务,IP等协议,数据单元为分组(IP数据报、数据报) 数据链路层:将网络层传下的数据报组装成帧并传送 物理层:传送比特流,数据单元:比特 3.端口

MVVMLight学习笔记(二)---MVVMLight框架初探

可紊 提交于 2020-12-19 04:53:03
一、MVVM分层概述 MVVM中,各个部分的职责如下: Model: 负责数据实体的结构处理,与ViewModel进行交互; View: 负责界面显示,与ViewModel进行数据和命令的交互; ViewModel: 负责前端视图业务级别的逻辑结构组织,并将其反馈给前端。 二、MVVMLight框架初探 通过NuGet安装MVVM Light 框架后,我们新建的Wpf项目中会自动生成一个ViewModel文件夹,里面有MainViewModel.cs和ViewModelLocator.cs两个文件。 下面我们就首先分析下这两个文件的内容: MainViewModel.cs文件分析: MainViewModel.cs文件中只有一个类MainViewModel,该类是主窗口MainWindow对应的ViewModel,继承自类ViewModelBase ViewModelBase类又继承类ObservableObject,同时实现ICleanup接口 ObservableObject类实现INotifyPropertyChanged接口,用于通知属性的改变 由此分析,我们可以得出以下一般结论: 当我们定义一个自己的ViewModel时,一般让自定义ViewModel继承自ViewModelBase类,这样当ViewModel中属性发生变化的时候,就可以自动通知对应的VIew。

python爬虫之基于scrapy_redis的分布式爬虫

前提是你 提交于 2020-12-19 04:23:19
基于redis的分布式爬虫 问题: (1)为什么原生的scrapy框架不可以自己实现分布式爬虫? 原因有两个: (1)因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls列表中的url(调度器不能被共享) (2)多台机器爬取到的数据无法通过同一个管道对数据进行统一的数据持久出存储。(管道不能被共享) (2)scrapy-redis组件的作用是什么? 它提供了可以被共享的调度器和管道 (3)如何使用scrapy-redis组件来实现分布式爬虫? 其一:基于该组件的RedisSpider类 其二:基于该组件的RedisCrawlSpider类 但是这两种实现分布式爬虫的实现流程是一致的 分布式的实现流程: ####1 下载scrapy-redis组件: pip install scrapy_redis ####2 创建工程 ####3 创建爬虫文件:RedisSpider RedisCrawlSpider - scrapy genspider -t crawl xxx www.xxx.com ####4 对爬虫文件中的相关属性进行修改: 导入:from scrapy_redis.spiders import RedisCrawlSpider 将爬虫类的父类修改成基于RedisSpider或者RedisCrawlSpider。注意

【Vue原理】Directive

喜夏-厌秋 提交于 2020-12-19 02:39:28
↑点击上方 “神仙朱” 一起研究Vue源码吧 专注 Vue 源码分享,为了方便大家理解,分为了白话版和 源码版,白话版让大家可以轻松理解工作原理,源码版让大家更清楚内部操作和 Vue的美,来,一起学习吧嘿! 今天是除夕啦,大家新年快乐! 身体健康 !2019多多开花,耶,嗨起来! 言归正传! 我相信应该大家应该都使用过 Directive 指令,有时为了能够直接操作DOM,而指令中最重要的莫过于是 钩子函数了,指令一共有五个钩子函数,他们不会在不同的阶段触发,文档也已经说明 当然了,其实你只要了解它是什么时候触发的,就完全可以用在项目。但是我们是不会满足于此的,我要知道他是怎么触发的,怎么调用到我设置的钩子的 今天,我们就来简单说一下这几个钩子都是 怎么被调用 的 你能相信我写 Directive 花了一个星期啊,不是有多难,而是我不知道怎么下手写啊,根本不知道怎么描述会简单好了解,吐血 钩子如何调用 首先,Vue 在绑定了指令的DOM 创建之后,插入页面之前,对一些DOM 本身的事件或者属性等进行处理。 其中,就包含对本DOM的所有指令进行处理 怎么处理呢?每一个钩子函数都不一样,所以我们会分不同钩子说明 首先,处理时,Vue 要判断哪些指令是新的还是旧的 所以需要比较 旧节点上的指令 和 新节点上的指令 比如 新指令比旧指令 多了一个指令 ,如下 // 新指令 newDir

DHCP、PXE、DNS和NFS综合小项目(详细到爆炸!)

馋奶兔 提交于 2020-12-18 13:12:19
文章目录 项目要求: 项目要求一: 1)修改服务器server1虚拟机IP 2)配置虚拟机网络使用仅主机模式 3)创建新虚拟机步骤 PXE(项目要求2和3) 1)配置本地yum源仓库 2)安装、配置及启用TFTP 3)安装并启用 DHCP 服务 4)准备 Linux 内核、初始化镜像文件 5)PXE引导程序 6)安装FTP服务,准备CentOS7安装源 7)配置启动菜单 8)关闭防火墙并开启新虚拟机验证PXE网络安装 验证项目要求2 1)虚拟机win10上验证(PC1) 2)新装虚拟机上开机验证(server2) 配置正向解析(项目要求4) 1)关闭防火墙及安全选项(前面已关不再操作),安装bind包 2)修改主配置文件 3)修改区域配置文件 4)配置正向区域数据文件 5)打开dns服务,关闭防火墙 6)测试DNS解析 NFS 在server2上操作 1)首先确认server2作为NFS服务器的IP地址,使用ifconfig查看 2)安装 nfs-utils、rpcbind 软件包 3) 设置共享目录 4)启动 NFS 服务程序 5)在/opt/share目录下创建文件并编辑 6)查看本机发布的 NFS 共享目录 在server1上操作 7)客户机访问NFS共享资源 8)挂载NFS共享目录 9)验证共享是否成功 项目要求: 1)准备3台虚拟机,一台Windows虚拟机PC1