1.netstat -nat |grep LISTEN
2.显示和tcp相关端口占用:netstat -t
3.显示和udp相关:netstat -u
4.显示某进程的所有网络连接信息:netstat -p PID
5.查找ssh连接出口:netstat -ap | grep ssh
6.找出指定端口的进程:netstat -an | grep ':80'
7.显示网络接口:netstat -i
8.显示详细信息,像是 ifconfig :netstat -ie
流量查看:iftop
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
监控网卡上传下载流量
系统不一定自带,iftop需要安装
查看具体端口流量
1.反向grep:grep -v file_name
2.grep 或:grep 'TIME|LISTEN' -E
3.grep -m 3 fileName 查询3行
1.系统版本
cat /proc/version
2.套接字使用情况(可快速查看端口占用数目)
cat /proc/net/sockstat
3.查看系统最大线程数
cat /proc/sys/kernel/threads-max
安装:apt-get install lrzsz
下载:sz
上传:rz -be
awk '过滤条件 [BEGIN{...}][{执行命令} END{...}]'
参考文档:http://www.gnu.org/software/gawk/manual/gawk.html
通过命令文件:awk -f source-file input-file1 input-file2
冲突字符处理:http://www.gnu.org/software/gawk/manual/gawk.html#Escape-Sequences
另外一种特殊字符处理:awk -v sq="'" 'BEGIN { print "Here is a single quote <" sq ">" }' 定义变量
正则表达式:awk '/li/ { print $0 }' mail-list /正则表达式/ 用于过滤和匹配
内置方法:1.length($0) 求长度 2.rand() 随机数
定义变量是无需声明:ls -l files | awk '{ x += $5 } END { print "total bytes: " x }' 其中的X是没有提前声明的
查owl日志,耗时发掘:grep cost_time owl_2017-02-22.log | grep ' 17:20:57' | awk -F '\001' '{print $8 }' | awk -F '\004' '{if($1>0)print $1}'
查看某进程的线程:ps -mp pid -o THREAD,tid,time
例如:
{
xs=`go run /root/shell/token.go ${secret} | awk '{print $1}'`
expect -c "set timeout 200;
spawn -noecho ssh [email protected] \"scp yuey@${LOCAL}:~/${MODULE}.war ${MODULE}${ENV}.war;scp ${MODULE}${ENV}.war ${online_host}:~/ROOT.war ;ssh ${online_host} \\\"sudo cp /home/yuey/ROOT.war /home/jm/tomcat/webapps;sudo /etc/init.d/tomcat stop;sudo /etc/init.d/tomcat start\\\"\";
expect PASSWD+TOKEN:;
send Moon123!${xs}\r;
interact;";
}
expect -c '命令串' --用于进入expect环境,并执行命令
spawn 开启一个新的进程(必须在进入expect环境后才能使用,是expect的语法),expect的实现其实就是和这些进程打交道的
expect PASSWD+TOKEN: 等待`PASSWD+TOKEN:`的出现
send Moon123!${xs}\r; 发送用户名和密码
ssh [email protected] "scp yuey@${LOCAL}:~/${MODULE}.war ${MODULE}${ENV}.war;scp ${MODULE}${ENV}.war ${online_host}:~/ROOT.war ;ssh ${online_host} \"sudo cp /home/yuey/ROOT.war /home/jm/tomcat/webapps;sudo /etc/init.d/tomcat stop;sudo /etc/init.d/tomcat start\""
ssh 目标机器 "需要执行的命令" --如果命令中包含 " 需要做转义 \" 命令之间用 ; 分割 表示顺序执行,如果用 && 表示必须要前面的命令执行完毕才能执行后面的
1.创建或者修改~/.bashrc 文件,编写 alias jump="sh jump.sh"
2.source ~/.bashrc
3.运行 jump 即可完成自定义命令的执行
1.客户机器:ssh-keygen -t rsa -P '' cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
2.目标机器:拷贝客户机器的pubkey到目标机器的authorized_keys 中
3./etc/hosts.allow 存放了允许访问的IP列表,例如:sshd:10.16.30.69 sshd 表示进程
4./etc/hosts.deny 存放拒绝的ip列表
5.ssh 配置文件地址 /etc/ssh/sshd_config