2017年7月24日星期一

VMware的ESXi的重置root密码与主机配置文件

遇到这种情况:
       我有三台ESXI主机,是之前同事留下的,其中一台他把密码忘记了,现在是使用vCenter管理的,之前添加过这三台ESXI主机,不知道密码,但是能管理,这种情况
可以使用hostprofile的功能去改密码,但是没办法找回之前的密码。
       下面链接实测有效。
       关键就是维护模式的进入,进入之前,要把所有虚拟机关闭。

参考链接:

2017年7月19日星期三

Linux 命令行下使用 Shadowsocks 代理 [实践版]

0x01 背景
     需要将树莓派配置为shadowsocks代理客户端,然后开放允许本地局域网的其他机器通过树莓派去连接世界网络。本文主要涉及内容,如何再linux系统下,使用shadowsocks的命令行客户端,以及命令行客户端工具(ss-local)的使用,搭配privoxy,让linux再命令下配置的ss客户端,可以达到和windows  ss小飞机客户端一样的功能。

0x02  客户端配置
      详细配置见,最底部的参考链接

0x03 注意问题

测试环境
系统:debian 8.7 jessie
privoxy版本: version 3.0.21

下面参考链接有一个问题:
privoxy 配置,如果跟着博客的内容去配置如下

# 转发地址
forward-socks5   /               127.0.0.1:1080 .
# 监听地址
listen-address  localhost:8118
# local network do not use proxy
forward         192.168.*.*/     .
forward            10.*.*.*/     .
forward           127.*.*.*/     .

只会监听tcp ipv6 8118端口

Ntopng:/etc/shadowsocks# netstat -ntlp | grep privoxy
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
tcp6       0      0 ::1:8118                :::*                    LISTEN      11896/privoxy   
 

将监听地址这段改一下:

# 监听地址
listen-address  127.0.0.1:8118
# 如果是允许局域网连接,就用*代替
listen-address  *:8118

则监听tcp 8118端口

Ntopng:~# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:8118          0.0.0.0:*               LISTEN      12053/privoxy   

之后就可以正常使用了

创建一个脚本文件名为 proxy
vim /usr/local/bin/proxy

脚本内容如下
#!/bin/bash
http_proxy=http://127.0.0.1:8118 https_proxy=http://127.0.0.1:8118 $*

给脚本加执行权限
chmod +x /usr/local/bin/proxy

对任何想要走代理的命令,只需要在前面加上 proxy 即可,样例如下
proxy gvm install go1.6.3
参考链接:
         Linux 命令行下使用 Shadowsocks 代理

2017年7月12日星期三

RSS是永远不会淘汰的产品

RSS的使用数量已经大部分被微信、微博、facebook、Twitter给替代,但是RSS的功能依然是那些社交工具无法替代的。
RSS最初的开发者中就包括互联网之子 aaron swartz。
迄今为止,作为一名IT人员,我始终需要使用google查询个人博客的资料去解决一些问题,同时学习一些较新的技术和思路,这些都是普通社交工具无法替代的。
那些社交工具提供的订阅更新,都是标题党,读起来无法集中精力,并且只是提供资讯,不需要花太多的脑力便可以看完,无法提高理解力。
而RSS订阅的都是你所喜欢的blog主写出来的,质量相当之高。
可见RSS有多么重要了。

最近找到一个非常好用的RSS订阅工具,Akregator 。
Akregator 是 Kontact套件的一部分。

Kontact 套件是 KDE 下强大的个人信息管理方案。Kontact 允许您在一处整合环境中处理邮件、安排日程以及管理联系人。最新的Kontact版本为用户提供更简易的方式管理通讯邮件,更迅速的管理工作日程,更方便更紧密的管理合作/共享项目,为数字化的合作提供更高的效率与便捷。

windows 安装 Akregator 之前需要安装 kdewin。

kdewin下载地址
kdewin安装指南

其实还有很多很多的RSS工具,还推荐两个,那就是firefox与chrome官方的RSS。
目前新版的firefox在url栏已经没有rss图标了,可以通过安装rss icon in url bar插件
补充这个功能。
chrome可以通过安装官方插件RSS Subscription Extension来支持rss。

参考链接:
1. RSS 的使用方法
2. 如何使用RSS
3. Akregator(阅读器)
4. 怎样使用Firefox、chrome、IE自带的实时书签用rss收取阅读

2017年7月10日星期一

2017年7月5日星期三

deep web 与 比特币的理解

Tor 是 deep web 的基础设施,Tor提供了各种隐匿的手段,以规避流量审查,保护个人隐私数据。

deep web 与 Tor的特性:
1. 可以使用各种工具进入,Tor只是其中一个,但也是使用最广的一个。
2. Tor使用16位数字字母.onion,组成的随机域名
3. Tor使用的是firefox浏览器
4. 截止2017年6月为止,AlphaBay Market是最大的暗网商城


比特币的诞生是经历了一番历史,电子货币屡次尝试屡次失败,在2008年8月,中本聪(satoshi)注册了bitcoin.org之后,这是一个伟大bitcoin即将诞生的前兆,2009年1月中本聪在密码组mail list发表了一篇《比特币:一种点对点的电子现金系统》论文,并且挖掘出50个比特币之后,bitcoin开始了神话般的发展。

截止到2017年6月27日,一个比特币的价值接近2w RMB。


0x01 比特币的特性:
1. 去中心化,实现点对点
2. 无需第三方机构提供权威信息
3. 每十分钟产生一个比特币, 总量恒定,到 2140 年产出第 2100 万枚
4. 挖矿的过程,实际上是争夺全网唯一记帐权的过程
5. 记账过程比拼的是计算资源
6. 比特币的网络规则是,一旦某人掌握了全网 51%的计算资源,他就有了更改区块链记录的「超级权限」,这与网络强盗无异 。
7. 比特币依然遵循经济发展趋势。世界经济史是一部基于假像和谎言的连续剧。要获得财富,就要认清假像,投入其中,然后在假象被公众识破前退出游戏。
8.  比特币系统神奇的设计,使得信任机制没有必要存在。

0x2 交易链 [transaction chain]:
       交易链是一条每次转账记录的链条。比特币的所有权在网络中以某种链条方式进行传递,所有比特币的用户都可以获取到这条交易链。
       交易链记录了从第一次比特币消费,第一次下载比特币软件,需要花将近24小时对交易链进行核对,直到第一笔比特币消费记录,确保之前的每笔交易的有效性,而这种核对是一劳永逸的,只需要检查一次即可。
     
       交易细节:
       当前的消费都需要对之前的转账记录进行核对,每次交易都会有一个 txn,transaction number。转账记录里面,分两个部分:input 与 output,如果你要给别人发10个bitcoin,必须对input部分的每一个txn进行核对,output会有两个部分,一个是你转账给别人的bitcoin,一个是你转给自己的bitcoin。而且有一个规则要遵守:
       input bitcoin  =  to self bitcoin +  to others bitcoin  = output bitcoin

       账本的真实形式:
       账本不会记录每个人的余额,而是在output部分将余额发回给自己的方法来记录。货币所有权通过验证历史交易信息来核实的,如何保证交易由货币拥有者发起的呢?(其他节点如何能确定请求是可信的呢)。因为只有真正的拥有者才有权创建交易消息。
       比特币有一套密码规则,用了解锁和管理货币交易,这种密码叫“数字签名”,每一笔交易都会有一个数字签名,用来保证交易的可靠性。公钥其实就是发送至的地址,如果向某人转账,其实就是将货币发送至对方的公钥,消费的时候,你必须证明你是公钥地址的真正拥有者,通过交易信息和你的私钥来生成数字签名的过程,就可以证明你是真正的拥有者。

       节点需要对进账金额的状态进行确认,避免重复进账。进账金额的状态分为两种,已消费(spent)、未被消费(unspent)
     
       例如:
               Alice --> Bob      5.0 bitcoin
       所以对一笔交易的检查:
       1. input部分引用之前的txn的output部分必须含有To Alice的金额
       2. input的总和必须大于等于5.0
       3. input的txn未被消费
     
      还有一个问题比特币亟待解决,“未被消费的检查结果”不可靠,这就与交易顺序有关,
这与信息传送某个节点经过路径不同,到达目标的时间也不同,而且时间戳是可以伪造的。
这就无法分辨出哪个交易在前,哪个交易在后。
      双重支付(Double Spending Fraud)
      针对这个情况,就需要整个网络对交易的顺序达成一致
       (nodes need to agree on transaction order.)
   
0x03 区块链 [Block Chain]:
        通过将交易按组分配来对交易进行排序的,这样的组被称为区块,然后将区块连接起来,被称为区块链。与交易链比较,区块链是对交易排序,交易链则是跟踪记录所有权的变化。
        每个区块会引用之前一个区块,并且是按时间顺序来排列的区块。你可以反向追踪这些链接直至最初的一笔交易。同一个区块的交易应该是在同一时刻发生的,未放入区块的交易被称为“未确认”或者“未排序”的交易,任何节点都可以将一组未经确认的交易放入区块,然后向网络中的其他节点广播他们对于下一个区块应该是什么的建议,由于同一个时刻可能有多人同时生成区块,那么网络是如何决定下一个区块的呢?
        比特币系统给的解决方案的一部分是这样子,每一有效的区块必须包括,对一个特殊数学问题(Block Puzzle)的答案,就是猜出random number的值,以下是计算方法:
     
        hash_sha256( New Block  +  random number )  < target
        random number 是一段随机值

        计算机会基于SHA256 hash算法运算,区块内的所有文本加上额外的随机数字猜测值,直到得出一个低于某特定数值(target)的输出。在比特币体系中,要猜测到这个随机数值,一台电脑要花上几年时间来,猜测一个区块,而当比特币网络中所有计算机都在猜测时,只要花上平均10分钟某台机器就能成功猜出答案。当一个节点找到了符合要求的解,就会向全网广播自己的结果,并且将他们的交易排在区块链的下一位。
        猜测的随机性有效的分散了人们找到结果的时间,以致于不会有两个人同时猜到结果,但偶尔也会出现不止一个区块同时被猜测成功的情况,从而导致若干个可能的分支,如果出现这类情况:
        A首先会把收到的区块X放在第一位,
        B首先会把收到的区块Y放在第一位,

         当有人解开下一个区块时,这种结就被打破了。 一般情况下,你都会理解切换至最长的分支,当然数学谜题使得同时解开区块变得几乎不可能,更不可能接连发生几次,最终的结果是区块链会迅速稳定下来,这意味着每个节点都是接受区块链的结尾处几个区块的排列顺序。根据下面的式子:
         hash_sha256( New Block  +  random number )  =  Block ID  < Target
       
         猜测到的结果会变为区块的ID,而区块ID,又会作为文本的一份去计算。如果要想进行下一个区块的ID计算,就必须计算出当前区块的ID,这就使得双重支付变得不可能。(换句话说,前一个区块尚未解开之前,后一个区块无法被解开)
        单个人没有办法连续解出多个区块,去替换其他人的区块,由于算力资源的限制, 即使是算力达到全网一半,也就是有50%的概率在他人之前解开区块
        区块链中交易越靠后越安全,因此攻击者想要实施“双重支付”攻击,就不得不花费较长时间来赶超网络中的其他主机或是替换区块链中靠后的区块,因此比特币系统只是容易在区块链的最后环节遭受“双重支付”的攻击。任何攻击者都不可能靠一己之力解出正确答案。
         由于比特币生成和分发过程缓慢且有随机性,当有人解出一个区块时,这个人就会被赋予一定的奖赏,这也就是猜解区块被称作采矿的原因,尽管它真正的目的是验证交易和维护区块链。每四年,解出区块奖励减半(这就意味着,到目前为止,2017,每次挖矿只能得到0.25个比特币),因此最终不会有更多的比特币被发行,总量约为2100万。

0x04 比特币安全问题:
      1. 永远不要将密码暴露给别人,因为密码有被复制和重新使用的危险
      2. 比特币交易网络中,没有像银行或者信用卡公司这样的组织,可以让你求助
      3. 用户犯的任何错误都会导致比特币的永久损失,不只是影响你的自己的账号,而是会影响整个比特币经济体系。
      4. 为了保证交易匿名性,你可以为每笔进账交易生成一个新的公钥
   
0x05 比特币如何使用:




0x06 参考链接:
       1. 当年一文不值,如今它比炒房还暴利
       2. 走近黑客雇佣市场:刀尖上“跳舞”,悬崖边狂欢
       3. AlphaBay:目前全球“人气最旺”的暗网黑市
       4. 我们都是中本聪:那些孜孜以求建立密码学货币的先驱们
       5. 比特币运作视频作者博客
       6. 比特币人民币汇率走势















Vmware虚拟交换机Vss配置

我的需求比较简单:
1. Vmkernel端口都统一接入管理VLAN
2. 需要混杂模式的接口就独立分配一个vSwitch
3. 多个uplink网卡连接一个vSwitch,vSwitch下分多个端口组



端口组可以理解为一个VLAN


添加:可以添加一个端口组或者vmkernel管理接口
编辑:可以调整一个端口组的VLAN ID,或者vmkernel管理接口的IP地址与VLAN ID

VST(Virtual Switch Tagging)技术可以完成这个需求

00 如何用vsphere client去更改exsi管理IP地址

       dell服务器上一般会有四个物理接口,创建多一个VSS,在该vss上新建一个vmkernel口,配置上你想要的IP地址,然后应用配置,进去原来的vmkernel口,把IP地址改成不可访问的地址,应用配置,之后可以看到vsphere报一个错误,并且把esxi的地址改为你刚配置好的ip地址。
     
       前提:新的vmkernel口必须与之前vmkernel口不在同一个VSS

参考链接:

2017年7月4日星期二

统一建模语言 UML

统一建模语言(英语:Unified Modeling Language,缩写 UML)

区分UML模型和UML图是非常重要的,UML图,包括用例图、协作图、活动图、序列图、部署图、构件图、类图、状态图,是模型中信息的图形表达方式,但是UML模型独立于UML图存在。UML的当前版本只提供了模型信息的交换,而没有提供图信息的交换。

序列图 是开发之前就应该设计好的图,只是UML图的其中一个
序列图 【不严谨的翻译:时序图】(Sequence Diagram)
webSequenceDiagram 这个网站提供在线画序列图的工具,使用非常简单

组件图 也是UML很重要的一个图,被用来标示任意复杂系统的结构
类图 该图描述了系统的类集合,类的属性和类之间的关系。类图是面向对象式的建模。

这对于理解一个复杂系统的时候非常有用。

域下发批处理文件到用户启动目录

域下发批处理文件到用户启动目录

最近遇到 Petya勒索软件新变种 的安全事件响应,网络给出了petya病毒的免疫方法,只需要在 C:\Windows 文件夹下建立名为 perfc 的文件,并将其设为“只读”即可。

如果是一台电脑就容易处理了,但是公司是一整批电脑,将近上百台,只能通过域来完成了,全自动。
下面是免疫文件自动创建的批处理脚本:
https://download.bleepingcomputer.com/bats/nopetyavac.bat

大概步骤:
1. 组策略管理  --> 林  --> 域 --> xxx.com -->组策略对象
2. 新建GPO(组策略对象)
3. 用户配置 -->windows设置 --> 脚本(登录/注销)

使用 rsop.msc 在客户端去验证组策略是否正确下发了



参考链接:
Petya勒索软件新变种详细分析报告
研究人员发现Petya勒索程序“疫苗”,手把手教你免疫Petya
AD组策略方式推送exe安装程序
如何通过AD服务器推送和安装AnyOffice
修改组策略,立即生效的办法