简介 一旦我们完成了漏洞扫描步骤,我们就了解了必要的知识来尝试利用目标系统上的漏洞。这一章中,我们会使用不同的工具来操作,包括系统测试的瑞士军刀 Metasploit。 6.1 安装和配置 Metasploitable 这个秘籍中,我们会安装、配置和启动 Metasploitable 2。 Metasploitable 是基于 Linux 的操作系统,拥有多种可被 Metasploit 攻击的漏洞
六、 端口扫描基础 虽然 Nmap 这些年来功能越来越多, 它也是从一个高效的端口扫描器开始的,并且那仍然是它 的核心功能。 nmap target 这个简单的命令扫描主机 target 上的超过 1660 个 TCP 端口。 。 许多传统的端口扫描器只列出所有端口是开放还是关闭的, Nmap 的信息粒度比它们要细得多 它把端口分成六个状态: open(开放的), closed(关闭的),filt
在第五章中,我们详细地讨论了 [[Prototype]] 机制,和 为什么 对于描述“类”或“继承”来说它是那么使人糊涂和不合适。我们一路跋涉,不仅涉及了相当繁冗的语法(使代码凌乱的 .prototype),还有各种陷阱(比如使人吃惊的 .constructor 解析和难看的假想多态语法)。我们探索了许多人试图用抹平这些粗糙的区域而使用的各种“mixin”方法。 这时一个常见的反应是,想知道为什么
是时候讨论一下Go的函数定义了。 什么是函数 函数,简单来讲就是一段将输入数据转换为输出数据的公用代码块。当然有的时候函数的返回值为空,那么就是说输出数据为空。而真正的处理过程在函数内部已经完成了。 想一想我们为什么需要函数,最直接的需求就是代码中有太多的重复代码了,为了代码的可读性和可维护性,将这些重复代码重构为函数也是必要的。 函数定义 先看一个例子 package main import (
内容提要 本章主要讲解了http协议在传输的过程中,如何彼此理解对方发送的内容是采用什么字符集编写的,从而彼此能够进行正确的显示内容!由此介绍了相关的报文首部。 HTTP对国际性内容的支持 服务器通过HTTP协议的Content-Type首部中的charset参数和Content-Language首部告知客户端文档的字母表和语言。 字符集和HTTP 字符集是把字符转换为二进制码的编码,字符集标记在
在上一章,我们学习了深度神经网络通常比浅层神经网络更加难以训练。我们有理由相信,若是可以训练深度网络,则能够获得比浅层网络更加强大的能力,但是现实很残酷。从上一章我们可以看到很多不利的消息,但是这些困难不能阻止我们使用深度神经网络。本章,我们将给出可以用来训练深度神经网络的技术,并在实战中应用它们。同样我们也会从更加广阔的视角来看神经网络,简要地回顾近期有关深度神经网络在图像识别、语音识别和其他应
C提供了4种用于动态内存分配的函数: malloc,它接受表示字节单位的大小的整数,返回指向新分配的、(至少)为指定大小的内存块的指针。如果不能满足要求,它会返回特殊的值为NULL的指针。 calloc,它和malloc一样,除了它会清空新分配的空间。也就是说,它会设置块中所有字节为0。 free,它接受指向之前分配的内存块的指针,并会释放它。也就是说,使这块空间可用于未来的分配。 realloc
本章将介绍一个 Web 搜索引擎,我们将在本书其余部分开发它。我描述了搜索引擎的元素,并介绍了第一个应用程序,一个从维基百科下载和解析页面的 Web 爬行器。本章还介绍了深度优先搜索的递归实现,以及迭代实现,它使用 JavaDeque实现“后入先出”的栈。 6.1 搜索引擎 网络搜索引擎,像谷歌搜索或 Bing,接受一组“检索项”,并返回一个网页列表,它们和这些项相关(之后我将讨论“相关”是什么意
Go 的标准库提供了很多工具,可以处理文件系统中的文件、构造和解析文件名等。 处理文件的第一步是确定要处理的文件的名字。Go 将文件名表示为简单的字符串,提供了 path、filepath 等库来操作文件名或路径。用 os 中 File 结构的 Readdir 可以列出一个目录中的内容。 可以用 os.Stat 或 os.Lstat 来检查文件的一些特性,如权限、大小等。 有时需要创建草稿文件来保
这一课中我们来看一看如何在三维场景中对场景中的物体进行各式各样的变换,并且在保持场景的立体感的情况下将其渲染到屏幕上去!常见的方法是用矩阵表示每一个变换, 之后将它们挨个儿相乘,最后乘以顶点位置产生最后的结果!接下来的每一章都将着重介绍一种转变。 这一课中我们先来看一个平移变换,平移变换的任务的将一个对象沿着一个任意长度和方向的向量移动,我们假设你想将下图中左边的三角形移到右边的位置: 要实现这个
前 言 Linux 下的进程通信(IPC) POSIX 无名信号量 System V 信号量 System V 消息队列 System V 共享内存 1.POSIX 无名信号量 如果你学习过操作系统,那么肯定熟悉PV 操作了.PV 操作是原子操作.也就是操作是不 可以中断的,在一定的时间内,只能够有一个进程的代码在 CPU 上面执行.在系统当中,有时候为了顺利的使用和保护共享资源,大家提出了信号的
6.1 模块化程序设计 一个较大的程序一般应分为若干个程序模块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。比如在C语言中,子程序的作用是由函数完成的,一个C程序可由一个主函数和若干个函数构成,由主函数调用其它函数,其他函数也可以相互调用,同一个函数可以被一个或多个函数调用任意多次。在Blockly中,也支持函数的定义和使用。 在程序设计中,常将一
十六进制字面量,以关键字hex打头,后面紧跟用单或双引号包裹的字符串。如hex"001122ff"。在内部会被表示为二进制流。通过下面的例子来理解下是什么意思: pragma solidity ^0.4.0; contract HexLiteral{ function test() returns (string){ var a = hex"001122FF"; /
官方网站 Docker 官方主页:https://www.docker.com Docker 官方博客:https://blog.docker.com/ Docker 官方文档:https://docs.docker.com/ Docker Hub:https://hub.docker.com Docker 的源代码仓库:https://github.com/moby/moby Docker 发布
导语 这一节讲述UDP编程的知识。UDP(UserDatagram Protocol即用户数据报协议)是一个轻量级的,不可靠的,面向数据报的无连接协议。对于UDP我们不再进行过多介绍,如果你对UDP不是很了解,而且不知道它有什么用,那么这里就举个简单的例子:我们现在几乎每个人都使用的腾讯QQ,其聊天时就是使用UDP协议进行消息发送的。就像QQ那样,当有很多用户,发送的大部分都是短消息,要求能及时响