应急相关命令

本文仅当作记录使用,方便后期查找。

一、查看网络连接信息

netstat 参数详解

-a (all) 显示所有选项,默认不显示LISTEN相关。
-t (tcp) 仅显示tcp相关选项。
-u (udp) 仅显示udp相关选项。
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态。
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
注:LISTEN和LISTENING的状态只有用-a或者-l才能看到。

连接状态

    LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。
    ESTABLISHED的意思是建立连接。表示两台机器正在通信。
    CLOSE_WAIT 对方主动关闭连接或者网络 异常导致连接中断
    TIME_WAIT 我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT

二、查看进程

通过PID进程号查找启动程序全路径--netstat命令

通过netstat -pantu可以查看到系统正在运行的进程,也是可以看到对应进程的PID号。

如上图中,如果想知道hfish进程启动程序的全路径的话,可以通过下面的方法;

截图中hfish的进程号是2744,进入cd  /proc目录下查找以该PID命名目录;

进入到/proc/2744 目录下后,会看到一个exe的文件, ls -ail就可以查看到程序的全路径;

根据目的IP及端口查找pid

netstat -pantu | grep 10.10.10.0
netstat -pantu | grep 3306


 

跟据文件查找PID--lsof命令

lsof 是 List Open File 的缩写, 它主要用来获取被进程打开文件的信息,我们都知道,在Linux中,一切皆文件,lsof命令可以查看所有已经打开了的文件,比如: 普通文件,目录,特殊的块文件,管道,socket套接字,设备,Unix域套接字等等,同时,它还可以结合 grep 以及 ps 命令进行更多的高级搜索

lsof 命令默认是没有安装的,而且它的使用需要有root权限或者赋予普通用于sudo权限, 使用以下命令安装

yum install -y lsof

-u 查看指定用户打开的文件

-i  列出所有打开了的网络文件

-p 列出指定进程打开的文件

lsof | more   分页查看当前所有活跃进程打开的所有文件

lsof -u ubuntu 使用 -u选项可以列出指定(ubuntu用户)用户已经打开的文件

找出打开着但已被删除了的文件

有些文件虽然被删除了,但是文件仍然是打开着的,它仍然占用文件系统的空间,我们可以结合 grep命令找出这种打开着,但是已经被删除的文件。

lsof -u ubuntu | grep deleted

其他使用方法

使用 lsof -i:3306  列出在指定端口打开的文件

使用 lsof -i TCP/UDP   列出使用了TCP 或 UDP 协议的文件

使用 lsof -i TCP:3306   列出使用了TCP 协议并且端口为3306的文件

使用 lsof -i TCP:1-1024   列出使用了TCP协议并且端口范围为 1 到 1024 的文件

使用 lsof +D ./data/    列出 data目录中打开的文件(+D选项会列出一个目录和其子目录中打开的文件,而 +d选项只会列出当前目录下已打开的文件)

使用 lsof -p 2744  列出指定进程打开的文件

kill -9 PID 杀死执行进程

三、查看开机启动项

ununtu

查看所有开机启动项
sudo systemctl list-unit-files

筛选enabled状态的开机项目
sudo systemctl list-unit-files | grep enabled

四、查看定时任务

crontab 命令选项基本只对用户操作的选项:
    -l 列出当前用户计划
    -r 清空当前用户计划
    -e 编辑用户计划
    -i 和 -r 选项搭配,删除用户计划前请求用户确认。

     * * * * * run command
     前五个 * 分别代表 分、时、天、月、星期

五、查看系统日志

日志文件说明
/var/log/cron记录了系统定时任务相关的日志
/var/log/cups记录打印信息的日志
/var/log/dmesg记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/mailog记录邮件信息
/var/log/message记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
/var/log/btmp记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看
/var/log/lastlog记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看
/var/log/wtmp永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看
/var/log/utmp记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
/var/log/secure记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中

六、查看历史命令

cat /root/.bash_history    查看历史命令

七、其他

查看权限为777的可疑文件
find .-name *.jsp -perm 777
查看可以ssh登录的账户
s=$( sudo cat /etc/shadow | grep '^[^:]*:[^\*!]' | awk -F: '{print $1}');for i in $s;do cat /etc/passwd | grep -v "/bin/false\|/nologin"| grep $i;done | sort | uniq |awk -F: '{print $1}'
查看正在连接的 ssh sessions
who -a
netstat -tnpa | grep 'ESTABLISHED.*sshd'
查看登录失败的日志
cat /var/log/auth.log | grep "Failed password for" | more
查看登录成功的日志
cat /var/log/auth.log | grep "Accept"
统计登录失败的用户名及次数
grep "Failed password" /var/log/auth.log|perl -e 'while($_=<>){ /for(.*?)from/; print "$1\n";}'|sort|uniq -c|sort -nr
统计暴力破解的登录者
cat /var/log/auth.log | grep "Failed password for" |grep "root" | grep -Po'(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])(\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)){3}'|sort|uniq -c|sort -nr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值