需求

网站管理员抛来网站的原始日志,叫我分析下,有没有啥异常

分析

一开始我是按照每天的日志来分析,但是感觉没有汇总的觉得不够爽,于是就想到了文件合并,一开始日志如下
1057884-55b94ac408739169.png

合并方法

很简单就一条命令,在日志的目录下打开cmd输入
type *.log > huizong.log
坐等一下下就好了
1057884-6e92211b6fd2cdf6.png
效果就如下图所示了:
1057884-46a753b367f2cd72.png

折腾一下

在Windows下Chrome添加一个快捷方式应用玩下,就已我的网站为例,操作如下图所示
1057884-05460af71efb4893.png
1057884-b3fd8e8431d05828.png
然后就在桌面上能看到了,
1057884-e62e07a0a5840c3d.png
1057884-3eeea489f3de9a79.png
这样子点击这个快捷方式就能直接打开某个web应用了,就跟使用某个单独的应用程序体验差不多了。(实际上对一些只有web端的没有客户端的应用使用这个功能超级好),比如我现在喜欢用的微软TODO,只有web、安卓、IOS、跟win10版本,我现在用的win7系统,想在电脑上使用,必须使用浏览器打开,感觉每次都会被其他的打扰,使用了这个功能后
感觉清爽了不少!!!
如下所示:
1057884-c53f5175e64d3bea.png

后记

当然要是能出客户端版本最好了!

前提条件

win10电脑有wifi模块并且是打开状态
安卓手机,连接wifi,保证与win10在一个网络内

配置

  • 电脑端
    点击电脑右下角操作中心--连接
    1057884-ab01a6adc64893bb.png
    改成如下配置
    1057884-b8105e1052e350cb.png
  • 安卓端(不同的手机,可能有细微差别)
    设置--已连接的装置
    1057884-7b2737403854c027.jpg
    投放
    1057884-ef1697ae64da4db7.jpg
    点击出现的设备
    1057884-16fb3d2caeac4eb5.jpg
    点击连接的时候,电脑右下角会有个连接提示,点击是
    1057884-7771badb1621fd2e.png
    安卓端,显示成功连接
    1057884-fc34df54d89cdddc.jpg
    接下来看看电脑端
    竖屏ok
    1057884-6ed78b0d002ca378.png
    横屏也是OK的
    1057884-63431cbe3e1eb4ff.png

已经可以了。

背景

由于平时一些软件都是用到python2.7的版本,但是实际上学习python还是用python3会比较好,这里为了区分,我就把Python3的命令改成了 python3,

安装方法

网上找了一大圈,各种很复杂,让我觉得很烦,以前用python2的时候,也就几条命令搞定,为啥到了python3还这么麻烦,想想就觉得其中肯定有简单方法,然而找到相关资料的确是真的简单!
命令如下

python3 -m pip install requests

1057884-cd575b3e7c63b0a2.png
测试一下是否安装完成
1057884-9addebed5b2ae94a.png
成功获取状态信息,表示已经成功安装。

背景

在对服务器做更新的时候,发现访问服务器IP的80端口,就自动跳转到我的网站上,这点对于强迫症患者来说万万不能忍!!!

解决方法

先来配置80端口的

打开Nginx的配置文件:

#vi /usr/local/nginx/conf/nginx.conf
增加以下代码片段

server
    {
        listen 80 default;
        return 403;
    } 

配置如下图所示:
1057884-cf86a23d9bf67503.png
最后重载配置即可
配置完成后效果如下
1057884-32d5e91f3d57c688.png

以上代码是针对80端口的,如果跟我一样配置了https(443端口)的话,需要再加点东西

配置80 443端口一起的
server
    {
        listen 80 default;
        listen 443 default_server;
        return 403;
        #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/oneone.moe/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/oneone.moe/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    error_page 497  https://$host$request_uri;

    #SSL-END
    
    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
    error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END
    } 

为什么要加上ssl证书的配置

Nginx 上对于 SSL 服务器在不配置证书的时候会出现协议错误,哪怕端口上配置了其他网站也会报错。解决方法就是随便生成一个证书填进去就好。

就是说443端口如果也跟80端口那样子的配置,使用https方式访问正常的域名也会被拒绝连接。
配置如下图所示:
1057884-4cb0c276b5094b96.png
最后重载配置即可
配置完成后效果如下:
1057884-7dc44ab7a9c97477.png
域名访问正常
1057884-164ae478ed222083.png

参考链接

https://lax.v2ex.com/t/348746
https://www.cnblogs.com/weifeng1463/p/9197971.html

1.什么是http_load

http_load是一款基于Linux平台的web服务器性能测试工具,用于测试web服务器的吞吐量与负载,web页面的性能。

2.http_load的安装

1)下载地址
wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
2)安装
tar xzvf http_load-12mar2006.tar.gz
cd http_load-12mar2006
make
make install
文件夹内容如下
1057884-7234228a0cb1bddd.png

3.http_load的使用

1)创建文件
vi urls
写入要测的服务器域名或IP地址
比如urls里是http://www.baidu.com/ 亦或是192.168.0.1这一类的都可以测

2)使用示例
./http_load -rate 5 -seconds 10 urls

-parallel 简写-p :含义是并发的用户进程数。
-fetches 简写-f :含义是总计的访问次数
-rate 简写-p :含义是每秒的访问频率
-seconds简写-s :含义是总计的访问时间

执行结果:

说明执行了一个持续时间10秒的测试,每秒的频率为5。
49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
5916 mean bytes/connection
4.89274 fetches/sec, 28945.5 bytes/sec
msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
HTTP response codes:
code 200 -- 49

结果分析:

1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒
2.5916 mean bytes/connection
说明每一连接平均传输的数据量289884/49=5916
3.4.89274 fetches/sec, 28945.5 bytes/sec
说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec
4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
说明每连接的平均响应时间是28.8932 msecs,最大的响应时间44.243 msecs,最小的响应时间24.488 msecs
5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min 
6、HTTP response codes: code 200 -- 49
说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。
特殊说明:这里,我们一般会关注到的指标是fetches/sec、msecs/connect
他们分别对应的常用性能指标参数
Qpt-每秒响应用户数和response time,每连接响应用户时间。
测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论

4.常见错误

1)byte count wrong
http_load在处理时会去关注每次访问同一个URL返回结果(即字节数)是否一致,若不一致就会抛出byte count wrong

2)too many open files
系统限制的open files太小,ulimit -n 修改open files值即可

3)无法发送大请求 (请求长度>600个字符)
默认接受请求的buf大小 http_load.c

4)Cannot assign requested address
客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端口号,所以新的连接没办法绑定端口,所以要改客户端机器的配置,
在sysctl.conf里加:
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_timestamps=1 开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用
net.ipv4.tcp_tw_recycle=1 表示开启TCP连接中TIME-WAIT sockets的快速回收

网上有太多的教程,没必要自己再重新写,附上原文链接
https://www.cnblogs.com/shijingjing07/p/6539179.html

IIS并发连接数的定义

即为IIS服务器可以同时容纳客户请求的最高连接数

查看方法

开始运行输入perfmon.msc
1057884-d26e5debe20043db.png
点击性能监视器,在右侧图表区里点击右键,再点“添加计数器”
1057884-3c2c7e0aff35e6bd.png
然后点击途中绿色加号按钮,下来选择web Service
1057884-b87d7e00586271db.png
“从计算机选择计数器”选择中Current Connection,“从列表选择实例”中选择要统计的站点,最后点击“添加”按钮即可完成设置。
1057884-cc2461df43a30e3b.png

查看实时并发量

1057884-8d5b168fc6f495d2.png

最后

建议监测一段时间后关闭,毕竟会占用一定的资源。。。

好方便好方便!

默认端口号是8080

python2: python -m SimpleHTTPServer
python3: python -m http.server

当然也可以自定义端口。比如8888

python2: python -m SimpleHTTPServer 8888
python3: python -m http.server 8888

1057884-dc254933bbc19178.png

最近有人问我kali相关问题,想着好像自己很久没有用kali了 ,于是打开许久未用的虚拟机上的kali,发现时间还是美国东部时间。虽然好像不怎么影响,但是就是觉得看着不爽。。。
百度了一下相关修改方法,感觉有点麻烦,然后看到一个简单粗暴的方法,嗯,就这个了。

打开设置

1057884-5041c017cbc4cdd8.png
拖到最下面有个details

1057884-a0570df938d62d39.png
Time Zone选择上海即可
1057884-b32057b552e28fbb.png
验证一下,ojbk!

1057884-6eee04be5eb4b9ca.png

本次测试环境为centos6.5、centos6.9

1.查看版本 

# openssl version -a

2、下载openssl-1.0.2o.tar.gz

https://www.openssl.org/source/openssl-1.0.2o.tar.gz

利用ssh一类工具上传至服务器

3、解压安装

tar zxf openssl-1.0.2o.tar.gz

cd openssl-1.0.2o

1057884-73d81ae993baec6a.png

5、更新zlib

# yum install -y  zlib

./config shared zlib

这一步会出现报错,这是需要安装perl环境 

# yum install -y perl

然后重新执行

# ./config shared zlib

1057884-9c6dd077e8bc3b76.png

make

make install

mv /usr/bin/openssl /usr/bin/openssl.bak

mv /usr/include/openssl /usr/include/openssl.bak

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

echo “/usr/local/ssl/lib” >> /etc/ld.so.conf

ldconfig -v       

1057884-6f4939227eb242c7.png

5、查看是否升级成功

# openssl version -a

1057884-a276b6221931d8c6.png

Centos6系列升级openssh教程

零、虚机建议更新前做个快照,本文档基于centos6.9制作,请根据实际操作系统下载对应iso镜像操作

一、安装编译所需的工具包

创建本地yum源(内网环境不能连接外网,一个个的安装依赖包过于复杂,有外网环境直接yum install gcc pam-devel zlib-devel openssl-devel即可,然后直接到第二步)

1、创建本地yum目录
1057884-c653d61e08761eda.png

2、查看系统版本信息

# cat /etc/issue

1057884-5039ef0f878f4305.png

3、挂载系统iso镜像

# mount /dev/cdrom /tmp/update/

1057884-f4110f5d359b6031.png

# ls /tmp/update # 如下图所示 说明挂载成功

1057884-cfed7a0f8ab63c13.png

4配置yum

# cd /etc/yum.repos.d

# mkdir bak

# mv *.repo bak/

# cp ./CentOS-Media.repo .

# ls

1057884-bd4fddcd4f633f80.png

# vi CentOS-Media.repo 改成如下图所示的配置

1057884-bee096f8f052339d.png

清除下yum缓存

1057884-5a9cd9ec08cefb5f.png

查看yum仓库列表

1057884-7a6aca8ca0412c97.png

到此,本地yum源已完成,通过yum升级openssh所需的依赖包即可

# yum install gcc pam-devel zlib-devel openssl-devel(手工安装需要的依赖包较多,建议使用yum方式安装)

二、安装telnet

# yum -y install telnet-server*

或者下载以下两个包手动安装

xinetd-2.3.14-40.el6.x86_64.rpm

telnet-server-0.17-48.el6.x86_64.rpm

1057884-f9a8150850a39391.png

1057884-89c460b506824850.png

启动Telnet服务

# vi /etc/xinetd.d/telnet

1057884-6a3060353d015494.png

将其中disable字段的yes改为no以启用telnet服务

mv /etc/securetty /etc/securetty.bak    #允许root用户通过telnet登录

# service xinetd start                    #启动telnet服务

# chkconfig xinetd on                     #使telnet服务开机启动,避免升级过程中服务器意外重启后无法远程登录系统

1057884-97e4712e627a4073.png

发现无法连接的话,请关闭防火墙

# servcie iptables stop 

# chkconfig iptables off 

1057884-0eda341224580fc0.png

接下来将要更新的openssh安装包copy到服务器上

到此前提条件准备完毕

三、升级openssh

1.备份当前openssh

# mv /etc/ssh /etc/ssh.bak

# mv /etc/init.d/sshd /etc/init.d/sshd.abk

2.卸载当前openssh

1057884-9889647564c24a10.png

# rpm -e –nodeps openssh-xxx(使用这条命令逐个卸载)

根据已安装的包名称来卸载即可

注意:rpm -e --nodeps openssh-server-5.3p1-122.el6.x86_64 会出现:

error reading information on service sshd: No such file or directory

error: %preun(openssh-server-5.3p1-122.el6.x86_64) scriptlet failed, exit status 1

解决方法:

# rpm -e --noscripts openssh-server-5.3p1-122.el6.x86_64

3.解压openssh_7.5p1源码并编译安装

# tar -zxvf openssh-7.5p1.tar.gz

# cd openssh-7.5p1

# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd

# make

此处执行编译时可能报error,请检查之前是否成功安装了pam-devel zlib-devel openssl-devel

解决完错误继续下一步:

# make install

四、openssh安装后环境配置

1.在openssh编译目录执行如下命令

# install -v -m755 contrib/ssh-copy-id /usr/bin

# install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1

# install -v -m755 -d /usr/share/doc/openssh-7.5p1

# install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.5p1
  1. 验证是否升级成功

# ssh -V  

1057884-567f1a43ba0b0b00.png

3.启用OpenSSH服务

在openssh编译目录执行如下目录
# echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config   #允许root用户通过ssh登录
# cp -p contrib/redhat/sshd.init /etc/init.d/sshd
# chmod +x /etc/init.d/sshd
# chkconfig  --add  sshd
# chkconfig  sshd  on
# chkconfig  --list  sshd
# service sshd restart

4.此刻记得关闭selinux,否则重启后无法正常连接ssh,

关闭方法:

临时关闭:# setenforce 0

永久关闭:# vim /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled,保存后退出

4.重启:

# reboot

五、重启系统验证openssh没问题后关闭telnet服务

# mv /etc/securetty.bak /etc/securetty

# chkconfig xinetd off

# service xinetd stop

如需还原之前的ssh配置信息,可直接删除升级后的配置信息,恢复备份。

# rm -rf /etc/ssh

# mv /etc/ssh.bak /etc/ssh

参考资料:http://blog.51cto.com/hnr520/1923012

今天看到同事在用xshell时候才知道,这个功能对多台服务器同时运行一个命令简直不要太棒!!!
先上图看效果
1057884-92b77341564504f9.png
1057884-34b55f08c95ebbb8.png
1057884-5aa1034610bfea6d.png

其实很简单 按照下图配置

1057884-e37391baeab35c2a.png
然后选择全部会话

1057884-e00e1cd1202bdca2.png
需要运行的命令在此处输入即可
1057884-29b3cb3cfb3cdf5a.png