Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
53cb50ac
Unverified
Commit
53cb50ac
authored
Oct 11, 2023
by
Marc Cornellà
Committed by
GitHub
Oct 11, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor(systemadmin): use `ss` instead of `netstat` when available (#11957)
parent
fedef5db
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
15 deletions
+33
-15
systemadmin.plugin.zsh
plugins/systemadmin/systemadmin.plugin.zsh
+33
-15
No files found.
plugins/systemadmin/systemadmin.plugin.zsh
View file @
53cb50ac
...
@@ -28,8 +28,8 @@ alias mkdir='mkdir -pv'
...
@@ -28,8 +28,8 @@ alias mkdir='mkdir -pv'
alias
psmem
=
'ps -e -orss=,args= | sort -b -k1 -nr'
alias
psmem
=
'ps -e -orss=,args= | sort -b -k1 -nr'
alias
psmem10
=
'ps -e -orss=,args= | sort -b -k1 -nr | head -n 10'
alias
psmem10
=
'ps -e -orss=,args= | sort -b -k1 -nr | head -n 10'
# get top process eating cpu if not work try execute : export LC_ALL='C'
# get top process eating cpu if not work try execute : export LC_ALL='C'
alias
pscpu
=
'ps -e -o pcpu,cpu,nice,state,cputime,args
|
sort -k1,1n -nr'
alias
pscpu
=
'ps -e -o pcpu,cpu,nice,state,cputime,args
|
sort -k1,1n -nr'
alias
pscpu10
=
'ps -e -o pcpu,cpu,nice,state,cputime,args
|
sort -k1,1n -nr | head -n 10'
alias
pscpu10
=
'ps -e -o pcpu,cpu,nice,state,cputime,args
|
sort -k1,1n -nr | head -n 10'
# top10 of the history
# top10 of the history
alias
hist10
=
'print -l ${(o)history%% *} | uniq -c | sort -nr | head -n 10'
alias
hist10
=
'print -l ${(o)history%% *} | uniq -c | sort -nr | head -n 10'
...
@@ -62,42 +62,60 @@ fi
...
@@ -62,42 +62,60 @@ fi
# Sort connection state
# Sort connection state
function
sortcons
()
{
function
sortcons
()
{
netstat
-nat
|awk
'{print $6}'
|sort|uniq
-c
|sort
-rn
{
LANG
=
ss
-nat
|
awk
'NR > 1 {print $1}'
\
||
LANG
=
netstat
-nat
|
awk
'NR > 2 {print $6}'
}
|
sort
|
uniq
-c
|
sort
-rn
}
}
# View all 80 Port Connections
# View all 80 Port Connections
function
con80
()
{
function
con80
()
{
netstat
-nat
|grep
-i
":80"
|wc
-l
{
LANG
=
ss
-nat
||
LANG
=
netstat
-nat
}
|
grep
-E
":80[^0-9]"
|
wc
-l
}
}
# On the connected IP sorted by the number of connections
# On the connected IP sorted by the number of connections
function
sortconip
()
{
function
sortconip
()
{
netstat
-ntu
|
awk
'{print $5}'
|
cut
-d
:
-f1
|
sort
|
uniq
-c
|
sort
-n
{
LANG
=
ss
-ntu
|
awk
'NR > 1 {print $6}'
\
||
LANG
=
netstat
-ntu
|
awk
'NR > 2 {print $5}'
}
|
cut
-d
:
-f1
|
sort
|
uniq
-c
|
sort
-n
}
}
# top20 of Find the number of requests on 80 port
# top20 of Find the number of requests on 80 port
function
req20
()
{
function
req20
()
{
netstat
-anlp
|grep 80|grep tcp|awk
'{print $5}'
|awk
-F
:
'{print $1}'
|sort|uniq
-c
|sort
-nr
|head
-n20
{
LANG
=
ss
-tn
|
awk
'$4 ~ /:80$/ {print $5}'
\
||
LANG
=
netstat
-tn
|
awk
'$4 ~ /:80$/ {print $5}'
}
|
awk
-F
:
'{print $1}'
|
sort
|
uniq
-c
|
sort
-nr
|
head
-n
20
}
}
# top20 of Using tcpdump port 80 access to view
# top20 of Using tcpdump port 80 access to view
function
http20
()
{
function
http20
()
{
sudo
tcpdump
-i
eth0
-tnn
dst port 80
-c
1000 |
awk
-F
"."
'{print $1"."$2"."$3"."$4}'
|
sort
|
uniq
-c
|
sort
-nr
|
head
-n
20
sudo
tcpdump
-i
eth0
-tnn
dst port 80
-c
1000 |
awk
-F
"."
'{print $1"."$2"."$3"."$4}'
|
sort
|
uniq
-c
|
sort
-nr
|
head
-n
20
}
}
# top20 of Find time_wait connection
# top20 of Find time_wait connection
function
timewait20
()
{
function
timewait20
()
{
netstat
-n
|grep TIME_WAIT|awk
'{print $5}'
|sort|uniq
-c
|sort
-rn
|head
-n20
{
LANG
=
ss
-nat
|
awk
'NR > 1 && /TIME-WAIT/ {print $5}'
\
||
LANG
=
netstat
-nat
|
awk
'NR > 2 && /TIME_WAIT/ {print $5}'
}
|
sort
|
uniq
-c
|
sort
-rn
|
head
-n
20
}
}
# top20 of Find SYN connection
# top20 of Find SYN connection
function
syn20
()
{
function
syn20
()
{
netstat
-an
|
grep
SYN |
awk
'{print $5}'
|
awk
-F
:
'{print $1}'
|
sort
|
uniq
-c
|
sort
-nr
|head
-n20
{
LANG
=
ss
-an
|
awk
'/SYN/ {print $5}'
\
||
LANG
=
netstat
-an
|
awk
'/SYN/ {print $5}'
}
|
awk
-F
:
'{print $1}'
|
sort
|
uniq
-c
|
sort
-nr
|
head
-n20
}
}
# Printing process according to the port number
# Printing process according to the port number
function
port_pro
()
{
function
port_pro
()
{
netstat
-ntlp
|
grep
"
${
1
:-
.
}
"
|
awk
'{print $7}'
|
cut
-d
/
-f1
LANG
=
ss
-ntlp
|
awk
"NR > 1 && /:
${
1
:-}
/ {print
\$
6}"
|
sed
's/.*pid=\([^,]*\).*/\1/'
\
||
LANG
=
netstat
-ntlp
|
awk
"NR > 2 && /:
${
1
:-}
/ {print
\$
7}"
|
cut
-d
/
-f1
}
}
# top10 of gain access to the ip address
# top10 of gain access to the ip address
...
@@ -107,14 +125,14 @@ function accessip10() {
...
@@ -107,14 +125,14 @@ function accessip10() {
# top20 of Most Visited file or page
# top20 of Most Visited file or page
function
visitpage20
()
{
function
visitpage20
()
{
awk
'{print $11}'
"
$(
retlog
)
"
|sort|uniq
-c
|sort
-nr
|
head
-n
20
awk
'{print $11}'
"
$(
retlog
)
"
|
sort
|
uniq
-c
|
sort
-nr
|
head
-n
20
}
}
# top100 of Page lists the most time-consuming (more than 60 seconds) as well as the corresponding page number of occurrences
# top100 of Page lists the most time-consuming (more than 60 seconds) as well as the corresponding page number of occurrences
function
consume100
()
{
function
consume100
()
{
awk
'($NF > 60 && $7~/\.php/){print $7}'
"
$(
retlog
)
"
|sort
-n
|uniq
-c
|sort
-nr
|
head
-n
100
awk
'($NF > 60 && $7~/\.php/){print $7}'
"
$(
retlog
)
"
|
sort
-n
|
uniq
-c
|
sort
-nr
|
head
-n
100
# if django website or other website make by no suffix language
# if django website or other website make by no suffix language
# awk '{print $7}' "$(retlog)" |sort -n|uniq -c|sort -nr|
head -n 100
# awk '{print $7}' "$(retlog)" | sort -n | uniq -c | sort -nr |
head -n 100
}
}
# Website traffic statistics (G)
# Website traffic statistics (G)
...
@@ -124,7 +142,7 @@ function webtraffic() {
...
@@ -124,7 +142,7 @@ function webtraffic() {
# Statistical connections 404
# Statistical connections 404
function
c404
()
{
function
c404
()
{
awk
'($9 ~
/404/)'
"
$(
retlog
)
"
|
awk
'{print $9,$7}'
|
sort
awk
'($9 ~
/404/)'
"
$(
retlog
)
"
|
awk
'{print $9,$7}'
|
sort
}
}
# Statistical http status.
# Statistical http status.
...
@@ -165,5 +183,5 @@ function clrz() {
...
@@ -165,5 +183,5 @@ function clrz() {
# Second concurrent
# Second concurrent
function
conssec
()
{
function
conssec
()
{
awk
'{if($9~/200|30|404/)COUNT[$4]++}END{for( a in COUNT) print a,COUNT[a]}'
"
$(
retlog
)
"
|sort
-k
2
-nr
|
head
-n10
awk
'{if($9~/200|30|404/)COUNT[$4]++}END{for( a in COUNT) print a,COUNT[a]}'
"
$(
retlog
)
"
|
sort
-k
2
-nr
|
head
-n10
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment