[命令] Linux 命令 mtr (检测网络联通状态)

案例一:一直检测某 1 个 IP 地址的联通状态并边检测边显示状况

# mtr -n 8.8.8.8

或者:

# mtr --no-dns 8.8.8.8


补充:
1) 这里以检测 8.8.8.8 IP 地址为例
2) -n 或者 –no-dns 参数代表不使用 DNS 解析主机名

案例二:检测某 1 个 IP 地址 100 次的联通状态并边检测边显示状况

2.1 检测某 1 个 IP 地址 100 次的联通状态并边检测边显示状况 (TCP 加 UDP 版)

# mtr -nc 100 8.8.8.8

或者:

# mtr --no-dns --report-cycles 100 8.8.8.8


补充:
1) 这里以检测 8.8.8.8 IP 地址为例
2) -n 或者 –no-dns 参数代表不使用 DNS 解析主机名
3) -c 或者 –report-cycles 参数代表指定次数

2.2 检测某 1 个 IP 地址 100 次的联通状态并边检测边显示状况 (TCP 版)

# mtr -nTc 100 8.8.8.8

或者:

# mtr --no-dns --tcp --report-cycles 100 8.8.8.8


补充:
1) 这里以检测 8.8.8.8 IP 地址为例
2) -n 或者 –no-dns 不使用 DNS 解析主机名
3) -T 或者 –tcp 指定 TCP 端口
4) -c 或者 –report-cycles 指定次数

2.3 检测某 1 个 IP 地址 100 次的联通状态并边检测边显示状况 (UDP 版)

# mtr -nuc 100 8.8.8.8

或者:

# mtr --no-dns --udp --report-cycles 100 8.8.8.8


补充:
1) 这里以检测 8.8.8.8 IP 地址为例
2) -u 或者 —udp 指定 UDP 端口
3) -n 或者 –no-dns 参数代表不使用 DNS 解析主机名
4) -c 或者 –report-cycles 参数代表指定次数

案例三:检测某 1 个域名 100 次的联通状态并显示最终报告

# mtr -nrc 100 eternalcenter.com

或者:

# mtr --no-dns --report --report-cycles 100 eternalcenter.com


补充:
1) 这里以检测 eternalcenter.com 域名为例
2) -n 或者 –no-dns 参数代表不使用 DNS 解析主机名
3) -r 或者 –report 参数代表生成最终报告
4) -c 或者 –report-cycles 参数代表指定次数

案例四:检测某 1 个域名 TCP 443 端口 100 次的联通状态并显示最终报告

# mtr -TP 443 -nrc 100 eternalcenter.com

或者:

# mtr --tcp --port 443 --no-dns --report --report-cycles 100 eternalcenter.com


补充:
1) 这里以检测 eternalcenter.com 域名的 443 端口为例
2) -n 或者 –no-dns 参数代表不使用 DNS 解析主机名
3) -r 或者 –report 参数代表生成最终报告
4) -c 或者 –report-cycles 参数代表指定次数
5) -T 或者 –tcp 参数代表指定 TCP
6) -P 或者 –port 参数代表指定端口号

[命令] Linux 命令 nc (检查网络端口的联通性)

正文:

案例一:检查某 1 个域名某 1 个 TCP 端口的联通性

# nc -v -z eternalcenter.com 443

或者:

# nc -vz eternalcenter.com 443

(补充:这里以检测 eternalcenter.com 域名的 TCP 443 端口为例)

案例二:检查某 1 个 IP 地址某 1 个 TCP 端口的联通性

# nc -v -z 8.8.8.8 443

或者:

# nc -vz 8.8.8.8 443

(补充:这里以检测 8.8.8.8 IP 地址的 TCP 443 端口为例)

案例三:检查某 1 个域名某 1 个 UDP 端口的联通性

# nc -u -v -z eternalcenter.com 69

或者:

# nc -uvz eternalcenter.com 69

(补充:这里以检测 eternalcenter.com 域名的 UDP 69 端口为例)

案例四:检查某 1 个 IP 地址某 1 个 UDP 端口的联通性

# nc -u -v -z 8.8.8.8 69

或者:

# nc -uvz 8.8.8.8 69

(补充:这里以检测 8.8.8.8 IP 地址的 UDP 69 端口为例)

案例五:人为占用本地系统的 1 个端口

# nc -l -k 443

或者:

# nc -lk 443

(补充:这里以人为占用本地系统的 443 端口为例)

(补充链接:System local ports batch occupation

参考文献:

https://nmap.org

[步骤] Linux 提高触发 Kdump 的几率

注意:

在提高触发 Kdump 的几率之前要先开启 Kdump:

正文:

步骤一:配置提高触发 Kdump 几率的参数

1.1 配置提高触发 Kdump 几率的参数

# vim /etc/sysctl.conf

添加以下内容:

......
kernel.softlockup_panic = 1

1.2 让刚刚配置的参数生效

# sysctl -p

(注意:此时每有一次软锁都会触发 Kdump)

步骤二:当 Kdmup 触发后分析奔溃的信息

步骤三;删除提高触发 Kdump 几率的参数 (重要)

3.1 删除提高触发 Kdump 几率的参数 (重要)

# vim /etc/sysctl.conf

删除以下内容:

......
kernel.softlockup_panic = 1

3.2 让刚刚删除参数的配置生效 (重要)

# sysctl -p

(注意:此时每有一次软锁都会触发 Kdump)

参考文献:

https://www.suse.com/support/kb/doc/?id=000019217

[工具] Shell 监控普通登录记录 (排除 SFTP 登录记录只监控普通登录记录)

注意:

在排除 SFTP 登录记录只监控普通登录记录前要先开启 SFTP 日志:

正文:

介绍

基本信息

作者:朱明宇
名称:监控普通登录记录 (排除 SFTP 登录记录只监控普通登录记录)
作用:监控普通登录记录 (排除 SFTP 登录记录只监控普通登录记录)

使用方法

1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本
4. 普通登录记录会同时记录在系统日志和 $logfile 里

脚本分割线里的变量

1. logfile=logfile.txt #用户保存记录的文件
2. prompt=”and no sftp info” #记录里普通登录记录的文件

脚本

#!/bin/bash

####################### Separator ########################

logfile=logfile.txt
prompt="and no sftp info"

####################### Separator ########################

checktime=`date +%Y-%m-%dT%H -d "-1 day"`

for i in `cat -n /var/log/messages | grep $check_time | grep 'Started Session' | grep -v 'root' | awk '{print $1}'`

do
   line=`sed -n $[i]p /var/log/messages`
   time=`echo $line | awk '{print $1}'`
   session=`echo $line | awk '{print $6}'`
   user=`echo $line | awk '{print $9}'`
   user=${user%.}

   message="ACCESS CHECK LOG: Time:$time Session:$session $user has accessed `hostname`, $prompt"

   let sftpline=i+3

   sed -n $[sftpline]p /var/log/messages | grep sftp-server &> /dev/null
   if [ $? -ne 0 ];then
           echo $message
           echo $message >> $logfile.txt
           logger $message
   fi
   echo
done