Linux常用Debug命令

1、查看TCP连接状态

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
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

2、查找请求80端口最多的20个IP连接

netstat -anlp|grep 80|grep tcp|awk ‘{print $5}‘|awk -F: ‘{print $1}‘|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk ‘/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}‘ |sort -rn|head -n20
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." ‘{print $1"."$2"."$3"."$4}‘ | sort | uniq -c | sort -nr |head -n 20

3、查找较多time_wait连接

netstat -n|grep TIME_WAIT|awk ‘{print $5}‘|sort|uniq -c|sort -rn|head -n20

4、找查较多的SYN连接

netstat -an | grep SYN | awk ‘{print $5}‘ | awk -F: ‘{print $1}‘ | sort | uniq -c | sort -nr | more

5、根据端口列进程

netstat -ntlp | grep 80 | awk ‘{print $7}‘ | cut -d/ -f1

6、获取Web访问前10位的ip地址

cat access.log|awk ‘{print $1}‘|sort|uniq -c|sort -nr|head -n 10
cat access.log|awk ‘{counts[$(11)]+=1}; END {for(url in counts) print counts[url], url}‘

7、访问次数最多的文件或页面,取前20

cat access.log|awk ‘{print $11}‘|sort|uniq -c|sort -nr|head -n 20

8、列出传输最大的几个rar文件

cat access.log|awk ‘{print $11}‘|sort|uniq -c|sort -nr|head -n 20

9、列出输出大于200000byte(约200kb)的rar文件以及对应文件发生次数

cat access.log |awk ‘($10 > 200000 && $7~/\.rar/){print $7}‘|sort -n|uniq -c|sort -nr|head -n 100

10、如果日志最后一列记录的是页面文件传输时间,则有列出到客户端最耗时的页面

cat access.log |awk ‘($7~/\.php/){print $NF " " $1 " " $4 " " $7}‘|sort -nr|head -n 100
cat access.log |awk ‘($7~/\.php/){print $NF " " $1 " " $4 " " $7}‘|sort -nr|head -n 100

11、列出最最耗时的页面(超过60秒的)的以及对应页面发生次数

cat access.log |awk ‘($NF > 60 && $7~/\.php/){print $7}‘|sort -n|uniq -c|sort -nr|head -n 100

12、列出传输时间超过 30 秒的文件

cat access.log |awk ‘($NF > 30){print $7}‘|sort -n|uniq -c|sort -nr|head -n 20

13、统计网站流量(G)

cat access.log |awk ‘{sum+=$10} END {print sum/1024/1024/1024}‘

14、统计404的连接

awk ‘($9 ~/404/)‘ access.log | awk ‘{print $9,$7}‘ | sort

15、统计http status

cat access.log |awk ‘{counts[$(9)]+=1}; END {for(code in counts) print code, counts[code]}‘
cat access.log |awk ‘{print $9}‘|sort|uniq -c|sort -rn

16、查看是哪些爬虫在抓取内容

tcpdump -i eth0 -l -s 0 -w - dst port 80 | strings | grep -i user-agent | grep -i -E ‘bot|crawler|slurp|spider‘

17、查看数据库执行的sql语句

tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | egrep -i ‘SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL‘

18、按域统计流量

zcat squid_access.log.tar.gz| awk ‘{print $10,$7}‘ |awk ‘BEGIN{FS="[ /]"}{trfc[$4]+=$1}END{for(domain in trfc){printf "%s\t%d\n",domain,trfc[domain]}}‘

19、调试命令

strace -p pid

20、磁盘性能

iostat -x 1 10

Geek小A 原创

时间: 2024-10-08 07:00:12

Linux常用Debug命令的相关文章

Linux常用高频命令(自总结)

Linux常用高频命令(自总结) 在Linux环境下使用一些命令行和shell编程已经有很长时间了,一直想写一篇关于linux命令行和shell编程的文章,但被一些事情搁置下来了.今天抽出一些时间把Linux下常用的高频命令一个个亲自验证之后写了这篇文章.很多命令可能你用过,但是有时候可能记得有点模糊.这里将它系统的列举出来,希望能对自己和他人有些许帮助. 文件或目录的创建和删除 1)创建文件与目录 1)touch  file1  file2  file3 2) mkdir  -p  dir1/

Linux常用网络命令总结

Linux常用网络命令总结 一.手动/自动配置IP参数与气动/关闭网络接口:ifcofig.ifup.ifdown 1.ifconfig     手动启动.查看与修改网络接口的相关参数,可以修改的参数有很多,包括ip参数以及MTU等.     语法: 1) ifconfig interface {up|down}     interface:网卡接口名称,包括:eth0.eth1等 2) ifconfig interface {options}     option:       up,down

积累linux常用的命令

积累linux常用的命令 主要记录在日常生活中遇到的问题,进行记录: linux中文件中存在^M 使用shell命令tr可以实现去除,具体命令如下: cat -v yourfile | tr -d "^M" > targetfile VIM中选定某个单词 在ESC之后,使用w或者wi或者vwi可以选择某个单词 在控制台中快速移动光标 1.删除 1.1 ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl 1.2 ctrl + h 删除光标所在位置前的字符相当于VIM

linux常用解压缩命令

1.tar.gz 解压 tar -zxvf source.tar.gz 压缩 tar -zcvf target.tar.gz source1 source2 2.bz2 解压 tar -jxvf source.bz2 压缩 tar -jcvf target.bz2 source1 source2 3.tar 解压 tar -xvf source.tar 压缩 tar -cvf target.tar source1 source2 4.rar 解压 rar e source.rar 压缩 rar

Linux常用shell命令(学习小结)

1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行. 2. ls 查看目录或者文件的属性,列举出任一目录下面的文件 eg: ls /usr/man ls -l a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link) b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x). 3. cp 拷贝文

Linux常用脚本命令总结

基本操作 通用操作 1. export 显示所有的环境变量,也可以获取到某个变量的详细信息: export # 显示所有 echo $SHELL # 只显示SHELL 2. whereis 使用系统自动构建的数据库来搜索可执行文件: whereis python # 如果搜不到就不输出 3. which 它在环境变量PATH指定的目录中搜索可执行文件.此命令将打印可执行文件的完整路径. which python # 如果搜不到就不输出 4. clear 清除窗口上的内容. 文件操作 5. ls

Linux常用的命令(一)

1.使用pwd和cd命令来确定和切换目录 可以使用Linux系统的pwd命令来显示当前目录的绝对路径.pwd(print working directory)的缩写. 例如: [[email protected] ~]$ pwd /home/LYJ 这是在普通用户身份下. 可以使用su命令切换用户身份,及切换到root. <pre name="code" class="plain">[[email protected] ~]# pwd /root 这是在

Linux常用小命令

linux常用小命令 1.查看/调整/重设日期: +%Y年,+%m月,+%d日,+%H时,+%M分,+%S秒,+%w周,+%F年月日,+%T时分秒,+%R时分 #date +"%F %T" #date -s "yyyy-mm-dd HH:MM:SS" (date -s "2017-07-08 12:23")#hwclock -s . 原文地址:http://blog.51cto.com/13571706/2062950

小猿圈解析Linux常用文件管理命令都有哪些?

对于刚开始学习linux的同学,很多都是比较陌生的,打开文件的速度过慢影响很多,针对这个情况,小猿圈Linux讲师整理了一份linux常用文件管理命令,希望对你正在自学linux的你有所帮助. 一.文件管理基本命令 1.pwd pwd显示当前的工作目录(显示当前shell CWD的绝对路径) 用法:pwd [option] 选项: -P显示真实物理路径 -L显示链接路径(默认) 拓展: ?每个shell和系统进程都有一个当前的工作目录 ?绝对路径:以正斜杠开始 完整的文件的位置路径 可用于任何想