映射端口

p2p 打洞专场(转)

我与影子孤独终老i 提交于 2019-11-27 05:59:19
就像1000个人眼中有1000个哈姆雷特一样,每个人眼中的区块链也是不一样的!作为技术人员眼中的区块链就是将各种技术的融合,包括密码学,p2p网络,分布式共识机制以及博弈论等。我们今天就来讨论一下区块链技术中的p2p网络,这是一种点到点的通信技术。 说到p2p通信,它并没有名字看上去那样简单,在网络世界里实现p2p还是需要一些手段的!很多朋友可能会说,实现一个c/s模式的点到点通信很简单呀,但是前提是彼此可以看见,比如服务器在公网,或者服务器和客户端都在同一个局域网内,我们要探讨的p2p通信是指通信的双方分别在两个局域网内部! 由于在两个局域网内部,两台设备并没有公网IP,彼此要通信需要借助路由器,但是路由器又会对不识别的ip进行过滤,也就是路由器有个陌生人排除机制!怎么办呢?类似于我们去一个安保较为严格的场所时,需要内部的工作人员接引才可入内,在网络编程中也是这样的原理!但和现实中不同的是,假设设备A想和另一个局域网的设备B通信,设备B是并不认识设备A的,设备A通过路由器NAT(Network Address Translation,网络地址转换)技术获得了一个公网映射IP,但是设备B并不认识,那么怎么样能让两者通信呢?所以这个时候需要一个介绍人,此时需要有一个公网的服务器作为媒介,介绍两个人介绍,当B设备对应路由器添加了A设备对应的公网IP后,A设备就可以与B设备建立连接了

成为“黑客”前,必学的几种网络攻击原理

女生的网名这么多〃 提交于 2019-11-27 04:55:22
1.1 TCP SYN拒绝服务攻击 一般情况下,一个TCP连接的建立需要经过三次握手的过程,即: 1、 建立发起者向目标计算机发送一个TCP SYN报文; 2、目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发起者回送一个TCP ACK报文,等待发起者的回应; 3、 发起者收到TCP ACK报文后,再回应一个ACK报文,这样TCP连接就建立起来了。 利用这个过程,一些恶意的攻击者可以进行所谓的TCP SYN拒绝服务攻击: 1、 攻击者向目标计算机发送一个TCP SYN报文; 2、目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应; 3、而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。 可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求。 1.2 ICMP洪水 正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Reply报文。而这个过程是需要CPU处理的

Appium原理分析

大兔子大兔子 提交于 2019-11-27 04:04:53
前言:   随着产品发布的周期越来越快, 行业对测试的要求也越来越高; 往往需要在很短的时间内完成 多端测试(Android iOS 小程序、H5)、 多环境测试(联调环境、测试环境、预发布环境)、 多机型覆盖(后逃统计到的top20 or top50?) 多版本共存(历史版本兼容?) 历史用例的回归(回归测试时的覆盖面?) 这些问题都在推动这整个行业去寻求技术的突破, 自动化测试就是能够保证产品质量的一个重要手段, 其与企业 产品线的CI CD 集成 完成回归测试 兼容性及自动化探索测试等;今天主要整理下UI自动化测试技术中的主流技术 手段 Appium. 使用分层测试策略,控制UI自动化测试规模(在决定做UI自动化前 一定要确定其主要解决的问题) 少数核心用例交给自动化测试 大部分的基础回归测试交给自动遍历 新功能测试交给人工测试 一、Appium应用原理:    Appium是一个独立的模块,使用的时候需要我们启动它; 当开启appium服务器的同时就开启了监听端口;我们运行脚本的时候,调用任何的appiumAPI,都会向Appium Server端post一条HTTP请求,(我们可以使用任何方式去发送交互的post http请求, 各语言脚本,或者是自定义curl等,只要请求符合webdirver协议 );请求内容就是根据webdriver wire

容器探路-Docker镜像和runtime

…衆ロ難τιáo~ 提交于 2019-11-27 03:42:08
一、什么是容器 容器:是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。 组成:1、应用程序本身,2、依赖:比如应用程序需要的库或其他软件 二、为什么使用容器 容器和虚机都是为应用提供封装和隔离,但是 容器使软件具备了超强的可移植能力 。虚机:每一个虚机都需要安装一个操作系统,每个操作系统都有kernel,每一个kernel都依赖硬件,而docker仅依赖于库(目前kernel几乎都是X86指令架构),所以虚机内核和host内核是一样的(uname -r) 三、怎么学习和使用docker 1、容器核心架构-组件:Docker 采用的是 Client/Server 架构 a、Docker 客户端 - Client b、Docker 服务器 - Docker daemon c、Docker 镜像 - Image d、Registry e、Docker 容器 - Container 2、镜像 一个image由 manifest 、 image index (可选)、 filesystem layers 和 configuration 四部分组成。 先来看看构成image的四部分的关系图: Filesystem Layer包含了文件系统的信息

【RHEL7/CentOS7防火墙之firewall-cmd命令详解】 -- 2019-08-11 19:03:43

半世苍凉 提交于 2019-11-27 00:10:08
目录 Firewalld zone firewall-cmd 开始配置防火墙策略 总结 原文: http://106.13.73.98/__/93/ Redhat Enterprise Linux7已默认使用 firewalld 防火墙,其管理工具是 firewall-cmd 。使用方式也发生了很大的改变。 基于 iptables 的防火墙已默认不启动,但仍然可以继续使用。 RHEL7中有这几种防火墙共存: firewalld 、 iptables 、 ip6tables 、 ebtables 。 RHEL7的内核版本是3.10,在此版本的内核里防火墙的包过滤机制是 firewalld ,使用 firewalld 来管理 netfilter ,不过底层调用的命令仍然是 iptables 等。 @ *** RHEL7虽然仍有 iptables ,但不建议使用了,而是使用新的 firewalld 服务。 # 查firewalld软件包是否安装 [root@CentOS7 ~]# rpm -q firewalld firewalld-0.5.5-1.fc28.noarch 由于这几种防火墙的 daemon 是冲突的,所以建议禁用其它几种防火墙。 # 禁用方法一: [root@CentOS7 ~]# systemctl mask {iptables,ip6tables,ebtables}

Python接口测试实战1(上)- 接口测试理论

一世执手 提交于 2019-11-26 21:08:46
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战2 - 使用Python发送请求 Python接口测试实战3(上)- Python操作数据库 Python接口测试实战3(下)- unittest测试框架 Python接口测试实战4(上) - 接口测试框架实战 Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例 Python接口测试实战5(上) - Git及Jenkins持续集成 Python接口测试实战5(下) - RESTful、Web Service及Mock Server 更多学习资料请加QQ群: 822601020获取 本节内容 接口及接口测试 网络基础知识:IP,域名, DNS及端口 网络基础知识:OSI七层模型及TCP协议 HTTP协议 接口及接口测试 这里插播一个段子 上图中,程序员口中提到的接口是什么意思呢? 手机壳有没有颜色这个属性(功能)? — 有 手机壳有没有提供让程序获取它颜色的途径? — 没有,这个途径就是接口 接口的概念 接口又称API(Application Programming Interface,应用程序编程接口),是一些预先定义的函数

Ssh代理详解 【转载】

会有一股神秘感。 提交于 2019-11-26 18:36:56
原文: http://www.cnblogs.com/wangkangluo1/archive/2011/06/29/2093727.html ssh 代理详细解释 ssh -qTfnN -D 7070 ape@192.168.1.35 ssh -CfNg -R 1521:127.0.0.1:80 ape@192.168.1.35 参考地址: http://hi.baidu.com/step_1/blog/item/271f831bfbc198f1ae5133b7.html http://hi.baidu.com/deyu260/blog/item/3be433093e5779a12eddd418.html http://hi.baidu.com/laowuuser/blog/item/317647c7992a65de38db4946.html 参考文档: 1. SSH: Port Forwarding 1 .正向隧道 - 隧道监听本地port,为普通活动提供安全连接 ssh - qTfnN - L port:host:hostport - l user remote_ip 2 .反向隧道 ---- 隧道监听远程port,突破防火墙提供服务 ssh - qTfnN - R port:host:hostport - l user remote_ip 3 .socks代理 SSH -

docker镜像制作

南笙酒味 提交于 2019-11-26 17:07:11
1.端口映射 一:容器端口随机映射到物理机的一个端口-P 二:容器的端口映射到物理机的一个特定的端口 -p 80:80 三:容器的端口映射到物理机的一个特定的网卡上的随机端口 -p ip::80 四:容器的端口映射到物理机的一个特定的网卡上的特定端口 -p ip:80:80 2.数据卷—实现数据的持久化 一:bind mount volume -v /ken:/var/www/html 二:docker managerment volume -v /var/www/html 三:基于一个现有的容器 –volumes-from docker使用数据库实现数据持久化演示 第一步:搜索数据库镜像并下载相应的数据库镜像 [root@localhost ~]# docker search mysql 第二步:启动数据库 [root@localhost ~]# docker run -d -v /ken:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 --name mysql1 mysql -e 指定设置环境变量。MYSQL_ROOT_PASSWORD指定数据库登录的初始密码 第三步:访问数据库 [root@localhost ~]# docker run -it mysql mysql -uroot -p123 -h172.17

NFS服务的介绍与具体配置

时光毁灭记忆、已成空白 提交于 2019-11-26 13:06:27
一、NFS的介绍 1.概念:它的主要功能是通过网络让不同的主机系统之间可以彼此共享文件或目录。NFS服务器 端共享的数据文件目录挂载到NFS客户端本地系统中(就是某个挂载点下)。从NFS客 户端自己的磁盘分区或者目录一样,而实际上是篡改段的服务器目录。 NFS网络文件系统的使用很像windows系统的网络共享,安全共呢个,网络驱动器映射, 这也和Linux里的samba服务类似。 2.NFS在企业中的应用场景 在企业集群架构的工作场景中,NFS网络文件系统一般被用于存储共享视频、图片、 附件等静态资源文件 二、为什么需要有共享存储   1.共享存储解决了多台服务器需要数据同步的操作,也就是把文件存在后台的共享存储服务器上, 通过前端网页服务器访问。   提示:中小型互联网公司企业一般不会买硬件存储太贵了,大公司如果发展很快的话,可能会 临时买存储顶一下网站压力,当网站并发继续增大后,硬件存储扩展就相对费劲。 三、NFS挂载原理详细介绍    提示:mount 源 目标 mount 远端地址:/共享目录 /挂载目录    问题:nfs传输端口不固定,导致客户端不知道那个端口进行数据传输    解决方案:就是RPC(中文意识就是远程过程调用)协议/服务来实现的, 四、什么是RPC(中间人 )    因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能都会启用

ETCD:配置参数

邮差的信 提交于 2019-11-26 12:27:42
原文地址: Configuration flags etcd通过配置文件,多命令行参数和环境变量进行配置, 可重用的配置文件是YAML文件,其名称和值由一个或多个下面描述的命令行标志组成。为了使用此文件,请将文件路径指定为 --config-file 标志或 ETCD_CONFIG_FILE 环境变量的值。如果需要的话 配置文件示例 可以作为入口点创建新的配置文件。 在命令行上设置的选项优先于环境中的选项。 如果提供了配置文件,则其他命令行标志和环境变量将被忽略。例如, etcd --config-file etcd.conf.yml.sample --data-dir /tmp 将会忽略 --data-dir 参数。 参数 --my-flag 的环境变量的格式为 ETCD_MY_FLAG .它适用于所有参数。 客户端请求 官方的etcd端口 为2379,2380是节点通信端口。可以将etcd端口设置为接受TLS流量,非TLS流量,或同时接受TLS和非TLS流量。 要在Linux启动时使用自定义设置自动启动etcd,强烈建议使用 systemd 单元。 成员标记 --name 人类可读的该成员的名字 默认值:"default" 环境变量:ETCD_DATA_DIR 该值被该节点吃的 --initial-cluster 参数引用(例如 default=http://localhost