网站维护:Linux服务器查看外网访问IP指令汇总

一、前言
服务器有的时候会被人搞崩,cpu莫名飙升,为了查看哪些IP访问过于频繁,就可以使用netstat、awk等指令进行统计查看。

二、指令
对一些常用的指令总结如下:

1、常用指令
对连接的IP按连接数量进行排序:

Shell
netstat -ntu | awk ‘{print $5}‘ | cut -d: -f1 | sort | uniq -c | sort -n
1
netstat -ntu | awk ‘{print $5}‘ | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态:

Shell
netstat -nat |awk ‘{print $6}‘|sort|uniq -c|sort -rn
netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}‘
netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}‘
netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}‘
netstat -n |awk ‘/^tcp/ {print $NF}‘|sort|uniq -c|sort -rn
netstat -ant | awk ‘{print $NF}‘ | grep -v ‘[a-z]‘ | sort | uniq -c
1
2
3
4
5
6
netstat -nat |awk ‘{print $6}‘|sort|uniq -c|sort -rn
netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}‘
netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}‘
netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}‘
netstat -n |awk ‘/^tcp/ {print $NF}‘|sort|uniq -c|sort -rn
netstat -ant | awk ‘{print $NF}‘ | grep -v ‘[a-z]‘ | sort | uniq -c
查看80端口连接数最多的20个IP:

Shell
netstat -anlp|grep 80|grep tcp|awk ‘{print $5}‘|awk -F: ‘{print $1}‘|sort|uniq -c|sort -nr|head -n20
1
netstat -anlp|grep 80|grep tcp|awk ‘{print $5}‘|awk -F: ‘{print $1}‘|sort|uniq -c|sort -nr|head -n20
查找较多time_wait连接:

Shell
netstat -n|grep TIME_WAIT|awk ‘{print $5}‘|sort|uniq -c|sort -rn|head -n20
1
netstat -n|grep TIME_WAIT|awk ‘{print $5}‘|sort|uniq -c|sort -rn|head -n20
查找较多的SYN连接:

Shell
netstat -an | grep SYN | awk ‘{print $5}‘ | awk -F: ‘{print $1}‘ | sort | uniq -c | sort -nr | more
1
netstat -an | grep SYN | awk ‘{print $5}‘ | awk -F: ‘{print $1}‘ | sort | uniq -c | sort -nr | more
查看当前并发访问数:

Shell
netstat -an | grep ESTABLISHED | wc -l
1
netstat -an | grep ESTABLISHED | wc -l
查看所有连接请求:

Shell
netstat -tn 2>/dev/null
1
netstat -tn 2>/dev/null
但是只要established的,则grep "ESTABLISHED":

Shell
netstat -tn | grep ESTABLISHED 2>/dev/null
1
netstat -tn | grep ESTABLISHED 2>/dev/null
查看访问某一ip的所有外部连接IP(数量从多到少):

Shell
netstat -nt | grep 121.41.30.149:80 | awk ‘{print $5}‘ | awk -F: ‘{print ($1>$4?$1:$4)}‘ | sort | uniq -c | sort -nr | head
1
netstat -nt | grep 121.41.30.149:80 | awk ‘{print $5}‘ | awk -F: ‘{print ($1>$4?$1:$4)}‘ | sort | uniq -c | sort -nr | head
根据端口查找进程:

Shell
netstat -ntlp | grep 80 | awk ‘{print $7}‘ | cut -d/ -f1
1
netstat -ntlp | grep 80 | awk ‘{print $7}‘ | cut -d/ -f1
2、根据nginx的访问日志判断
在网站部署的目录下,会有个wwwlogs文件夹用于存放一些日志文件。我们可以根据其中的access.log文件查看一些访问记录。

查看访问记录,从1000行开始到3000:

Shell
cat access.log |head -n 3000|tail -n 1000
1
cat access.log |head -n 3000|tail -n 1000
查看访问记录,从1000行开始,显示200行:

Shell
cat access.log |tail -n +1000 |head -n 200
1
cat access.log |tail -n +1000 |head -n 200
根据访问IP统计UV:

Shell
awk ‘{print $1}‘ access.log|sort | uniq -c |wc -l
1
awk ‘{print $1}‘ access.log|sort | uniq -c |wc -l
统计访问URL统计PV:

Shell
awk ‘{print $7}‘ access.log|wc -l
1
awk ‘{print $7}‘ access.log|wc -l
查询访问最频繁的URL:

Shell
awk ‘{print $7}‘ access.log|sort | uniq -c |sort -n -k 1 -r|more
1
awk ‘{print $7}‘ access.log|sort | uniq -c |sort -n -k 1 -r|more
查询访问最频繁的IP:

Shell
awk ‘{print $1}‘ access.log|sort | uniq -c |sort -n -k 1 -r|more
1
awk ‘{print $1}‘ access.log|sort | uniq -c |sort -n -k 1 -r|more
通过日志查看含有send的url,统计ip地址的总连接数:

Shell
cat access.log | grep "send" | awk ‘{print $1}‘ | sort | uniq -c | sort -nr
1
cat access.log | grep "send" | awk ‘{print $1}‘ | sort | uniq -c | sort -nr
通过日志查看当天指定ip访问次数过的url和访问次数:

Shell
cat access.log | grep "222.132.90.94" | awk ‘{print $7}‘ | sort | uniq -c | sort -nr
1
cat access.log | grep "222.132.90.94" | awk ‘{print $7}‘ | sort | uniq -c | sort -nr

原文地址:https://blog.51cto.com/982439641/2468349

时间: 2024-11-03 22:04:43

网站维护:Linux服务器查看外网访问IP指令汇总的相关文章

linux下查看外网出口IP

一. [[email protected] ~]# curl ifconfig.me124.193.193.25 [[email protected] ~]# curl ifconfig.me/allip_addr: 124.193.193.25remote_host: user_agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.1 Basic ECC zlib/1.2.3 libidn/1.18 libss

查看外网出口IP && Traceroute

一.CentOS 查看外网出口IP 1---------------- # curl ifconfig.me 2----------------# curl icanhazip.com 二.Traceroute最简单的基本用法是:traceroute hostname Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field).首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括

为什么用自己的电脑部署服务器之后外网访问不到呢?并且该如何解决这个问题呢?

路由器最少有两个IP地址,一个是内网,一个是外网. 路由器是局域网和广域网的连接处. 路由器作为DHCP SERVER分配IP地址,只要计算机的MAC地址没有被改变,并且原IP地址未被分配,那么分配到的IP地址和上次是一样的. 端口映射. 路由器穿透? UDP穿透?怎么欺骗路由器? 想要在外网访问内网:1.使用路由器代理  2.使用路由器穿透. 原文地址:https://www.cnblogs.com/liaoxiaolao/p/9698792.html

在虚拟机发布网站,设置服务器外网访问ip端口号

这是虚机上的发布网站的网站端口号 这一步要在实机设置 做完这一步,在外网就可以访问你刚刚发布的站点了

路由器架设虚拟服务器让外网访问内网某电脑端口

本文将介绍如何通过路由器设置,让外网可以访问到内网中的某一台电脑,也可以是电脑上架设的本地网站.是在给客户发布网站的时候学到的,总结下来. 首先进入路由器,找到虚拟服务器: 点击添加新条目:在端口号的位置填写要访问的端口号,IP地址填写要访问的电脑的IP地址 保存后便生成一条记录 这样你在局域网中IP为192.168.1.8的地址中建立一个端口为8001的网站,就可以通过外网地址+端口号8001访问了. 版权声明:本文为博主原创文章,未经博主允许不得转载.

云服务器查看外网ip

curl ip.6655.com/ip.aspx  curl whatismyip.akamai.com  wget -qO - ifconfig.co  curl icanhazip.com  dig +short myip.opendns.com @resolver1.opendns.com  curl ident.me  curl v4.ident.me  curl curlmyip.com  curl ifconfig.me  curl inet-ip.info #需要翻x墙,只返回IP

云服务器查看外网IP地址方法

#返回IP地址 curl ip.6655.com/ip.aspx curl whatismyip.akamai.com wget -qO - ifconfig.co curl icanhazip.com dig +short myip.opendns.com @resolver1.opendns.com curl ident.me curl v4.ident.me curl curlmyip.com curl ifconfig.me curl inet-ip.info #返回IP和地区 1.cu

linux 下查看外网ip

1. curl ipinfo.io ~/codes/qt_codes/qt-5.4.1-build$ curl ipinfo.io{  "ip": "114.241.210.22",  "hostname": "No Hostname",  "city": "Beijing",  "region": "Beijing Shi",  "co

linux系统查看外网IP

很简单的一个命令: [[email protected] /]# curl ifconfig.me 120.132.xxx.xxx 就完成了,很方便.