脚本内容如下:
$ cat remote_host.sh
#!/bin/bash
#需求:查看有多少远程的 IP 在连接本机(不管是通过 ssh 还是 web 还是 ftp 都统计)
#理清功能:
#1.获取所有远程连接的主机ip
#2.统计并打印出远程连接主机的ip数
#1.获取远程连接的主机ip
.NETstat -anlp |awk 'NR>=2{print $5}' |grep '[0-9]' |sort -nr |uniq -c
# netstat -anlp |awk 'NR>=2{print $5}' 获取 Foreign Address 远程连接主机的信息
# grep '[0-9] 过滤出根ip有关的信息,因为这一列的信息不全是ip地址
# sort -nr |uniq -c 统计并打印出远程ip的信息,uniq -c 统计连续的行信息,可能相同的ip信息并不连续
# 统计同一个ip的信息就会有多行,怎么避免呢?通过sort -nr排序,把相同的ip连续的排列
bash remote_host.sh