Chrome 60 地址栏快速查看 SSL 证书信息

Chrome功能回归:点击挂锁查看SSL证书信息

轻松查看SSL证书信息

运行最新版Chrome 60的用户,可以通过浏览器地址栏的安全挂锁,轻松两步即可查看网站SSL证书颁发者、使用者及有效期等详细信息。

(1)点击地址栏挂锁图标

(2)在下拉的“页面信息”栏中点击“有效”

此外,Chrome还新增了一个功能,鼠标悬停在“有效”按钮上,立即浮现SSL证书颁发者信息,不过只有当网站部署有效SSL证书时才会展示,可防止任意形式的欺诈和恶意软件的蓄意混淆。

它的展示是这样的:

不过,有关TLS版本、加密算法等有关HTTPS连接和配置的信息,仍然需要到“开发者工具”中的“Security”标签下查看。

如何设置该功能

该功能目前处于关闭状态,直到Chrome完成对“页面信息”菜单的修复。您只需按照以下简短说明启用该功能,就可以立即体验。

(1)将chrome://flags/#show-cert-link复制粘贴到地址栏中

(2)在该页面找到‘Show certificate link’,点击“启用”(如下图)

(3)在页面下方点击“立即重新启动Chrome”

浏览器重启后,就可以使用该功能啦。

Linux CentOS 7.X 如何修改内核启动默认顺序

我们知道,centos 6.x是通过/etc/grub.conf就行内核启动顺序修改的,而且比较直观查看。但centos 7的系统和6就不一样了,是通过grub2为引导程序。下边简单说下centos 7的内核启动顺序如何修改。
1,首先查看当前系统有几个内核。比如:

[[email protected] ~]# cat /boot/grub2/grub.cfg |grep menuentry
if [ x”${feature_menuentry_id}” = xy ]; then
menuentry_id_option=”–id”
menuentry_id_option=””
export menuentry_id_option
menuentry ‘CentOS Linux (3.10.0-327.22.2.el7.x86_64) 7 (Core)’ –class centos –class gnu-linux –class gnu –class os –unrestricted $menuentry_id_option ‘gnulinux-3.10.0-327.el7.x86_64-advanced-80b9b662-0a1d-4e84-b07b-c1bf19e72d97’ {
menuentry ‘CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)’ –class centos –class gnu-linux –class gnu –class os –unrestricted $menuentry_id_option ‘gnulinux-3.10.0-327.el7.x86_64-advanced-80b9b662-0a1d-4e84-b07b-c1bf19e72d97’ {
menuentry ‘CentOS Linux (0-rescue-7d26c16f128042a684ea474c9e2c240f) 7 (Core)’ –class centos –class gnu-linux –class gnu –class os –unrestricted $menuentry_id_option ‘gnulinux-0-rescue-7d26c16f128042a684ea474c9e2c240f-advanced-80b9b662-0a1d-4e84-b07b-c1bf19e72d97’ {

2,设置默认的启动内核。比如我们选择上边中的CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)这个内核为默认启动。

grub2-set-default “CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)” 配置默认内核
验证是否修改成功:

[[email protected] ~]# grub2-editenv list
saved_entry=CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
3,重启机器观察。
重启成功以后查看下机器的内核是不是该内核:

[[email protected] ~]# uname -r
3.10.0-327.el7.x86_64
说明:该教程针对正常的centos 7.x是没有问题的,但是比如对linode这种服务器是不管用的,这里被坑的厉害!linode是他们后台自己设置了启动顺序的。如果要自己可以修改,需后台编辑这个host并设置grub2,否则你怎么修改都不会成功。

转载请注明:21运维 » Linux CentOS 7.X 如何修改内核启动默认顺序

[转帖]销毁mpd遗留的ng接口

问题:

MPD在长时间使用后,特别是有大量非正常断开的连接,会在系统中残留许多ng界面,如果这些界面不能及时销毁,则在重启mpd时会导致mpd挂起。
本例的目的就是销毁所有的mpd连接。

代码:

#!/bin/sh
for var in $(ifconfig grep ng cut -f 1 -d “:”) ; do
ngctl shutdown $var:
done

解释:

1、MPD使用了netgraph框架,包括PPPoE在内的所有的连接都使用了ng,相当于多了一个ng*的网卡,可以使用ifconfig看到:

 [email protected]:~ # ifconfig ng1
ng1: flags=88d1 metric 0 mtu 1478
inet 192.168.1.3 –> 192.168.192.101 netmask 0xffffffff

注意netmask,这个mask是全1的,相当于/32,表示这是这单一的主机,但是其他界面,比如pptp等就不一定了。

2、系统中所有的ng界面可以用grep来查出,注意下面结果中的mtu,各不相同,这是windows和路由器的区别,各家路由器也不尽相同,常见的值有1466,1478,1480,1492等:

[email protected]:~ # ifconfig grep ng
ng0: flags=88d1 metric 0 mtu 1480
ng3: flags=88d1 metric 0 mtu 1480
ng7: flags=88d1 metric 0 mtu 1492
……

3、netgraph有个管理工具,叫做“ngctl”,可以用它来创建、连接、销毁ng界面在本例中,我们用它来销毁功能,对应的子命令是shutdown,命令格式为:

 ngctl shutdown

这个path就对应netgraph的一个路径,这又是一个很长的话题,在本文中,我们可以写作:

 ng*:

*为数字,注意后面有个冒号,冒号后面应该再跟一些东西,但是本例只能ng*操作,所以后面的就忽略了。
比如要销毁ng0,那么对应的命令如下,注意最后面有个英文的冒号:

ngctl shutdown ng0:

4、for命令,是基本的shell命令了,不再赘述。

[转帖]dummynet 的 pipe 限速误区一则

  dummynet的限速功能是非常强悍的,早期pf限速都使用dummynet,但是有很多新手老是抱怨出问题,特别是使用pipe以后,网速变的特别慢,即使是FreeBSD的官方论坛,每隔几页就会有个抱怨pipe的帖子。
其实不是dummynet不好用,而是方法不对。
大多数新手把限速设置为下面的语句:

ipfw pipe 10 config bw 300Kbit/s
ipfw add pipe 10 ip from any to any out via em0

想籍此规则达到出口300K的目的,但一旦加上此规则后,会发现网速明显变慢,甚至连30k的速度都达不到。

是什么原因呢?

顾名思义,pipe就相当于一个水管,上面的语句定义了一个300Kbit/s的水管,水再多也就按照这个水管慢慢跑。

但是还有个问题,就是多少个IP用这一个水管?或者换一种说法:是一个IP一根水管,还是所有的IP一个水管?再深入一点的问题:哪个参数决定了多少个IP共用一个水管?

其实在ipfw的man中,明确提到了这个参数,就是mask,但是说的不是太明确。

Packets sent to a given pipe    or queue by an ipfw rule can be further classified into    multiple flows,    each of    which is then sent to a different dynamic pipe or queue.  A flow identifier is constructed by masking the IP addresses, ports and protocol types as specified with the mask options in the configuration of the pipe or queue.  For each different flow identifier, a new pipe or queue is created with the same parameters as the original object, and matching packets are sent to it.

这段文字的意思是:ipfw送到pipe或queue的数据包,会被分成多个流,然后再把这些流送到不同的动态pipe或queue。一个流的标识是由mask参数所masking的IP、端口或协议类型所组成的。为每一个同的流而创建新的pipe或queue。

这个说明稍微有点模糊,基本上表达了它的意思。但是没有说明一个流的标识符到底是怎么样masking的,经常编程的人一般都能明白,但大多数人可就没有那么幸运了。

其实masking就是求“AND”的过程,比如IP,把进来的IP和mask相“与”,结果就是流的标识符。
比如mask设置为0x000000ff,数据包的IP是192.168.0.11,两者求“与”,结果就是11,那么就会为这个11号流创建一个水管。
另外一个包是192.168.0.12,那么就会为12号流创建另一个水管。

那么另外一种情况:有个数据包的IP是192.168.1.11,标识符是多少呢?
192.168.1.11 & 0x000000ff,结果也是11,标识符同样是11,那么它就会和192.168.0.11共用同一个水管,也就是两个IP会共用300Kbit/s的带宽!

那么再看一种极端的情况,其实也就是上面例子的情况,如果mask为0x00000000,会发生什么样的事情呢?
0x0和任何数相与,结果都相等,为0,这就意味着,所以的IP都“共享”300kbit/s的带宽!

另一个极端就要想每个IP独享一个300Kbit/s的水管,那么就设置为0xffffffff好了,每个IP一个水管,互不干涉。

回到上面的例子,mask的默认值是多少?经过试验(还没找到源代码),默认应该是0x0,也就是所有IP的所有流量,都会走一个300Kbit/s的小水管,不慢才怪呢!

另外还要注意几个地方:
1)mask是可以分方向的,分为dst-ip mask,src-ip mask,还有dst-port mask,src-port mask,在写规则的时候,最好一弄清方向。
2)目前,flow的标识符是8位的,源代码中用了&0xff,所以显示的最高数值也就是255,但是会出现多个相同的值,比如在大的网络中,会出现多个11,不影响效果,但是不好区分到底是哪一个网段的11,修改办法可以参照我另外的帖子。

取消 yum 损坏。Broke Fedora after accidentally cancelled yum update

https://serverfault.com/questions/681486/broke-fedora-after-accidentally-cancelled-yum-update

 

I just did the same thing on a Fedora 22 system. I couldn’t upgrade or reinstall any of the packages. Running package-cleanup –cleandups wanted to remove glibc, which wanted to pretty much all of the packages on the system.

To resolve the issue, I performed a distro-sync on all of the duplicate packages.

sudo package-cleanup --dupes | perl -pe 's/-\d+.*$//' | sort -u | grep -vP '^Loaded' | xargs sudo dnf distro-sync -y

Then followed up with

sudo dnf upgrade
sudo package-cleanup --cleandupes

电信 光纤猫 贝尔E8-C-EPON 破解超级管理员密码

第二步、以用户名:“telecomadmin” 密码:“nE7jA%5m”登录设备。

二、破解超级管理员密码

1、打开 http://192.168.1.1,用光纤猫上的账户密码进行登录。

2、下载 http://192.168.1.1/backupsettings.conf

3、用记事本或者任何能打开 .conf 的软件(比如 SublimeText)打开backupsettings.conf,然后 ctrl+f 查找 Password,这就是你的超级管理员密码。

4、再次打开 http://192.168.1.1,如果之前的还登陆着,先退出,然后用账号名为 telecomadmin,密码为你之前找到的 Password 进行登录。现在我们就能看到完整的设置界面了。

TCPing 工具介绍

TCPing 介绍

TCPing 和 Ping 工具非常类似,但与之不同的是,它通过 TCP 端口工作。TCPing 还支持监听具体某个端口的状态。

因此,即使服务器禁止 Ping,也可以通过 TCPing 来测试与服务器的连接。

TCPing 客户端下载

来自 kirchner 源代码的 TCPing

来自 Eli Fulkerson 源代码的 TCPing

来自 richard 源代码的 TCPing

Eli Fulkerson 写的 TCPing 工具更加强大,可以输出连接时间等信息。而 kirchner 的版本只能输出此端口是否打开。

Linux 用户如果需要更加强大的 TCPing 工具,可以使用此脚本:

安装方法:

  1. 安装 tcptraceroute:

Debian / Ubuntu 用户:

sudo apt-get install tcptraceroute

CentOS / REHL 用户,设置 RepoForge 先,再:

sudo yum install tcptraceroute
  1. 下载 tcpping 脚本:
cd /usr/bin
sudo wget http://www.vdberg.org/~richard/tcpping
sudo chmod 755 tcpping

TCPing 工具使用方法

  • Windows 用户可以将其放入 X:\Windows\System32 文件夹下(X 代表系统分区),然后就可以直接在 CMD 命令行中使用。
  • 类 Unix 系统请自行在 /bin 或其他目录下放置可执行文件或软链接。

具体用法可参见各客户端原网站。

 

 

from : http://tookdes.org/geek/archives/tcping-intro.html

如何测试连接MsSQL/SQL Server数据库 from 阿里云

如果您所使用的 SQL Server 数据库连不上,可以通过这个方法进行测试数据库连接。

温馨提示:

  • .本方法只适用于测试SqlServer数据库连接,请核对您输入的是SqlServer的数据库信息。本文档不适用于MySql数据库。
  • 如何查看数据库信息

测试连接方法:

1.打开记事本,不要写任何字,然后保存为 dsds.udl (即为重命名)到桌面。

2.双击刚刚保存的文件。

3.输入数据库的地址数据库账号密码数据库名称。

 

4.单击“测试连接”,提示连接成功。

 

 

How to upload to Google Cloud Storage buckets using CURL

Signed URLs are pretty nifty feature given by Google Cloud Platform to let anyone access your cloud storage (bucket or any file in the bucket) without need to sign in.

Official documentation gives step by step details as to how to read/write to the bucket using gsutil or through a program. This article will tell you how to upload a file to the bucket using curl so that any client which doesn’t have cloud SDK installed can do this using a simple script.
This command creates a signed PUT URL for your bucket.
 gsutil signurl -c 'text/plain' -m PUT serviceAccount.json gs://test_bucket_location  

Here is my URL:

 https://storage.googleapis.com/[email protected]&Expires=1490266627&Signature=UfKBNHWtjLKSBEcUQUKDeQtSQV6YCleE9hGG%2BCxVEjDOmkDxwkC%2BPtEg63pjDBHyKhVOnhspP1%2FAVSr%2B%2Fty8Ps7MSQ0lM2YHkbPeqjTiUcAfsbdcuXUMbe3p8FysRUFMe2dSikehBJWtbYtjb%2BNCw3L09c7fLFyAoJafIcnoIz7iJGP%2Br6gAUkSnZXgbVjr6wjN%2FIaudXIqAxyz4O6VU%2FIob8RHmfYBD3rYw8oRmZer0g%2BMTDw5Bu3%2BdjbxCriCOkOLWkvlpBGvd71hRP89lxpD%2FwX1N1pzAiRBpmKAhpKrYrq8h4kNLAtTHXYSz5j%2Bzb28UD4YMG52n8UpfyPgFIg%3D%3D  

Now this command will upload a text file to the bucket using the signed URL we created:

 $ curl -X PUT -H 'content-type: text/plain' -d @test_upload.txt https://storage.googleapis.com/[email protected]&Expires=1490266627&Signature=UfKBNHWtjLKSBEcUQUKDeQtSQV6YCleE9hGG%2BCxVEjDOmkDxwkC%2BPtEg63pjDBHyKhVOnhspP1%2FAVSr%2B%2Fty8Ps7MSQ0lM2YHkbPeqjTiUcAfsbdcuXUMbe3p8FysRUFMe2dSikehBJWtbYtjb%2BNCw3L09c7fLFyAoJafIcnoIz7iJGP%2Br6gAUkSnZXgbVjr6wjN%2FIaudXIqAxyz4O6VU%2FIob8RHmfYBD3rYw8oRmZer0g%2BMTDw5Bu3%2BdjbxCriCOkOLWkvlpBGvd71hRP89lxpD%2FwX1N1pzAiRBpmKAhpKrYrq8h4kNLAtTHXYSz5j%2Bzb28UD4YMG52n8UpfyPgFIg%3D%3D  

On similar lines, you can create a RESUMABLE URL and then upload file using following command:

 $ curl -v -X 'POST' -H 'content-type: text/plain' -H 'x-goog-resumable:start' '[signed url]' -d ''  

This command gives ‘session URI’ which is similar to signed url, but longer!

 $ curl -v -X PUT -d @test_upload.txt -H 'content-type: text/plain' '[session URI]'  

Simple isn’t it!

 

 

 

http://opreview.blogspot.jp/2017/03/how-to-upload-to-google-cloud-storage.html