host

golang中net包用法(一)

こ雲淡風輕ζ 提交于 2019-12-05 00:27:12
net包对于网络I/O提供了便携式接口,包括TCP/IP,UDP,域名解析以及Unix Socket。尽管net包提供了大量访问底层的接口,但是大多数情况下,客户端仅仅只需要最基本的接口,例如Dial,LIsten,Accepte以及分配的conn连接和listener接口。 crypto/tls包使用相同的接口以及类似的Dial和Listen函数。下面对net包进行具体分析。 首先介绍其中常量: const ( IPv4len = 4 IPv6len = 16 ) 很容易看出这表示ip地址的长度(bytes),其中ipv4长度是4,ipv6地址长度是16 变量: 常用的ipv4地址: var ( IPv4bcast = IPv4(255, 255, 255, 255) // 广播地址 IPv4allsys = IPv4(224, 0, 0, 1) // 所有系统,包括主机和路由器,这是一个组播地址 IPv4allrouter = IPv4(224, 0, 0, 2) // 所有组播路由器 IPv4zero = IPv4(0, 0, 0, 0) // 本地网络,只能作为本地源地址其才是合法的 ) 常用的IPV6地址: var ( IPv6zero = IP{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} IPv6unspecified

ABP实战第二课:创建实体类

 ̄綄美尐妖づ 提交于 2019-12-05 00:09:16
首先在我的本地数据库已经有很多表了,表中也有一大堆的数据,这时候我要在ABP中添加这些表的实体类(这里我通过动软代码生成器生成实体类,我也是第一次使用这个工具): 第一步:下载动软代码生成器: http://www.maticsoft.com/download.aspx 第二步:下载完成后,解压压缩包,双击msi文件进行安装 第三步:安装完成后,打开软件,鼠标右击服务器,添加服务器,根据自身数据库类型选择,我这里选择的是SQL Server,我连接的是自己本地的数据库,所有在服务器名称中填的是(local), 注意这里一定要加括号 ,其他的保持默认即可,然后点击确定( 注意:我安装的SQL Server 是2017的,所以会有弹窗弹出提示不是选择的服务器类型,这个弹窗不需要理会,照常添加就行,不影响的 )。 添加完成后,等待几秒中,等数据库中的所有表都加载完成后,就能在左边看到你本地的数据库了 第四步:定义实体类的模板Entity.cmt,鼠标右击右边的代码模板---新建--模板,将新建模板命名为:Entity.cmt,然后鼠标右击Entity.cmt---编辑查看,写入如下代码后保存 <#@ template language="c#" HostSpecific="True" #> <#@ output extension= ".cs" #> <# TableHost host

SSRF绕过姿势

两盒软妹~` 提交于 2019-12-04 23:13:22
0x00 什么是SSRF? SSRF(Server-Side Request Forgery,服务器端请求伪造):是一种由攻击者构造形成由服务器端发起请求的一个漏洞。 SSRF 攻击的目标是从外网无法访问的内部系统 漏洞成因 服务端提供了从其他服务器应用获取数据的功能且没有对目标地址作过滤和限制。 0x01 SSRF的危害 攻击者可利用SSRF绕过防火墙,接触内部网络 攻击者可以利用 SSRF 实现的攻击主要有 5 种: 可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的 banner 信息 攻击运行在内网或本地的应用程序(比如溢出) 对内网 WEB 应用进行指纹识别,通过访问默认文件实现 攻击内外网的 web 应用,主要是使用 GET 参数就可以实现的攻击(比如 Struts2,sqli 等) 利用 file 协议读取本地文件等 0x02 SSRF出现场景 能够对外发起网络请求的地方,就可能存在 SSRF 漏洞 从远程服务器请求资源(Upload from URL,Import & Export RSS Feed) 数据库内置功能(Oracle、MongoDB、MSSQL、Postgres、CouchDB) Webmail 收取其他邮箱邮件(POP3、IMAP、SMTP) 文件处理、编码处理、属性信息处理(ffmpeg、ImageMagic、DOCX、PDF、XML)

3.django Model

人盡茶涼 提交于 2019-12-04 23:05:02
django ORM基本配置 django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表 1.修改project数据库配置 (1)settigs.py里面 默认 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } 修改为mysql数据库: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mysql', #数据库名字 'USER': 'root', #账号 'PASSWORD': '123456', #密码 'HOST': '192.168.43.128', #IP 'PORT': '3306', #端口 } } (2)把模块改成pymysql 修改project目录下的init.py import pymysql pymysql.install_as_MySQLdb() 2.创建数据库表结构文件 对应app目录下的models.py (1)生成一个简单的数据库表: from django.db import models class UseInfo(models.Model

VMware Workstation虚拟机的网络连接类型

倾然丶 夕夏残阳落幕 提交于 2019-12-04 22:10:50
有3种可选的网络类型,分别是:桥接模式、NAT模式、与仅主机模式 查看自己本地PC机上的网卡: 安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,其他的未安装(当然也可以手动安装其他的)。vmnet0,实际上就是一个虚拟的网桥vmnet0,实际上就是一个虚拟的网桥,这个网桥有很若干个端口,一个端口用于连接你的Host,一个端口用于连接你的虚拟机,他们的位置是对等的。其中VMnet1是host网卡,用于host方式连接网络的。VMnet8是NAT网卡,用于NAT方式连接网络的。 VMnet0:桥接(所有的主机和虚拟机能够互相访问) VMnet1:仅主机(只有本地的PC机可以和虚拟机互访) VMnet8:NAT (虚拟机能够访问所有主机,但是其他主机访问不了虚拟机) 1. Use bridged networking(使用桥接网络) 说明:使用VMnet0虚拟交换机,此时虚拟机相当与网络上的一台独立计算机与主机一样,拥有一个独立的IP地址,其网络拓扑如图1所示,使用桥接方式,A,A1,A2,B可互访。 图1 桥接方式拓扑示意 2. Use network address translation(NAT) 说明:使用Vmnet8虚拟交换机,此时虚拟机可以通过主机单向网络上的其他工作站,其他工作站不能访问虚拟机。其网络拓扑如图2所示,使用NAT方式,A1,A2可以访问B

报错:1130-host ... is not allowed to connect to t...

僤鯓⒐⒋嵵緔 提交于 2019-12-04 21:45:15
报错:1130-host ... is not allowed to connect to this MySql server 解决方法: 1。 改表法。 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user; 2. 授权法。 例如,你想myuser使用mypassword从任何主机连接到mysql 服务器 的话。 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES; 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql 服务器 ,并使用mypassword作为密码 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'

[RoarCTF 2019]Easy Calc-协议层攻击之HTTP请求走私

你。 提交于 2019-12-04 21:20:28
0X01:什么是HTTP请求走私 HTTP请求走私属于协议层攻击,是服务器漏洞的一种。 HTTP请求走私是一种干扰网站处理从一个或多个用户接收的HTTP请求序列的方式的技术。使攻击者可以绕过安全控制,未经授权访问敏感数据并直接危害其他应用程序用户。 一般来说,反向代理服务器与后端的源站服务器之间,会重用TCP链接。这也很容易理解,用户的分布范围是十分广泛,建立连接的时间也是不确定的,这样TCP链接就很难重用,而代理服务器与后端的源站服务器的IP地址是相对固定,不同用户的请求通过代理服务器与源站服务器建立链接,这两者之间的TCP链接进行重用,也就顺理成章了。当我们向代理服务器发送一个比较模糊的HTTP请求时,由于两者服务器的实现方式不同,可能代理服务器认为这是一个HTTP请求,然后将其转发给了后端的源站服务器,但源站服务器经过解析处理后,只认为其中的一部分为正常请求,剩下的那一部分,就算是走私的请求,当该部分对正常用户的请求造成了影响之后,就实现了HTTP走私攻击。 0x02:漏洞产生原因 HTTP请求走私这一攻击方式很特殊,它不像其他的Web攻击方式那样比较直观,它更多的是在复杂网络环境下,不同的服务器对RFC标准实现的方式不同,程度不同。这样一来,对同一个HTTP请求,不同的服务器可能会产生不同的处理结果,这样就产生了了安全风险. 继续了解HTTP走私,就要开始研究HTTP1

Hadoop Shell命令

ぃ、小莉子 提交于 2019-12-04 21:17:53
FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是 scheme://authority/path 。对HDFS文件系统,scheme是 hdfs ,对本地文件系统,scheme是 file 。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如 /parent/child 可以表示成 hdfs://namenode:namenodeport/parent/child ,或者更简单的 /parent/child (假设你配置文件中的默认值是 namenode:namenodeport )。大多数FS Shell命令的行为和对应的Unix Shell命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到 stderr ,其他信息输出到 stdout 。 linux客户端操作hadoop的hdfs分布式文件系统(file system) 执行hadoop fs指令可以看到其下有很多可以执行的命令: 1:cat 使用方法:hadoop fs -cat URI [URI …] 将路径指定文件的内容输出到 stdout 。 示例: hadoop fs -cat hdfs:/

Ansible之templates模板

自闭症网瘾萝莉.ら 提交于 2019-12-04 21:17:49
  一、jinja2简介解   Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于Djanjo的模板引擎,并扩展了其语法和一系列强大的功能。ansible的模板配置文件就是用jinja2这种模板编程语言写的,其中jinja2使用字面量有如下形式   1)字符串:使用单引号或双引号引起来的部分   2)数字:支持整数,浮点数(小数)   3)列表:和python里的列表一样,用中括号括起来,每个元素之间用逗号隔开,如[item1,item2,....]   4)元组:和python里的元组一样,小括号括起来,每个元素之间用逗号隔开,如(item1,item2,....)   5)字典:同python里的字典一样,大括号括起来,每个k/v(键值对)用逗号隔开,键和值用":"冒号隔开,如{key1:value1,key2:value2,....}   6)布尔型:同其他语言布尔型一样,ture/false   7)支持算数运算:+,-,*,/,//(整除,地板除),%(取模,取余数),**(幂运算)   8)支持比较操作:==(比较两个值是否相等),!=(不等),>,>=(大于等于),<,<=(小于等于)   9)支持逻辑运算:and(与),or(或),not(非)   10)支持for(循环) ,if(判断),when(当某一条件满足才开始执行when所在的代码块

Playbook剧本之流程控制下

独自空忆成欢 提交于 2019-12-04 20:57:31
触发器 标记(用于调试的场景) 文件调用 忽略错误 异常处理 toc 触发器 当我们使用某些程序中,需要修改程序配置文件,之后有可能需要重启程序新的配置才能生效,该怎么实现呢? 这就需要用到触发器了 当task的任务被改变时,如果定义了notify就会触发notify,notify会把内容交到handler中,handler会根据notify信息在自己的描述(name)中查找任务执行 ## 在其他服务器上复制个httpd配置文件 [root@Ansible project]# scp root@192.168.1.2:/etc/httpd/conf/httpd.conf ./httpd.conf.j2 ## 编写httpd的Playbook并加上触发器 [root@Ansible project]# vim httpd.yml - hosts: web tasks: - name: Install Httpd Server yum: name: httpd state: installed - name: Configure Httpd Server copy: src: ./httpd.conf.j2 dest: /etc/httpd/conf/httpd.conf notify: Restart Httpd Server ## 任务改变,则触发条件 - name: Start