系统安全应急响应指导手册(干货)
2021-12-12 21:58:52 Author: mp.weixin.qq.com(查看原文) 阅读量:7 收藏

1)系统安全

1.1.系统进程

在应急排查中需要查看系统有无异常进程,以下讲解在linux和windows系统中如果快速查看系统进程。

1.1.1.Linux进程

Linux进程可使用ps命令查看,常用命令如下:

选项

含义

-A

列出所有的进程

-w

显示加宽,可以显示较多的信息

-a

显示现行终端机下的所有进程,包括其他用户的进程

-u

以用户为主的进程状态

-x

通常与a这个参数一起使用,可列出较完整信息

-r

只显示正在运行的进程

-h

不显示标题

-e

显示所有进程,环境变量

-f

全格式

-l

长格式

--help

显示帮助信息

--version

显示版本信息

当命令运行后,Linux会将结果回显,格式详解如下:

USER

PID

%CPU

%MEM

VSZ

RSS

TTY

STAT

START

TIME

COMMAND

用户名

进程的ID

进程占用的CPU百分比

进程占用内存的百分比

该进程使用的虚拟内存量(KB)

该进程占用的固定内存量(KB)

该进程在哪个终端上运行,若与终端无关,则显示?若为pts/0等,则表示由网络连接主机进程

进程的状态

该进程实际使用CPU运行的时间

命令的名称和参数

其中STAT状态位常见的状态字符有:

START

//无法中断的休眠状态(通常 IO 的进程); 

//正在运行可中在队列中可过行的; 

//处于休眠状态; 

//停止或被追踪; 

//进入内存交换 (从内核2.6开始无效); 

//死掉的进程 (基本很少见); 

//僵尸进程; 

//优先级高的进程 

//优先级较低的进程 

//有些页被锁进内存; 

//进程的领导者(在它之下有子进程); 

//多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); 

//位于后台的进程组;

Linux上的进程状态如下:

进程状态

ps命令对应的状态码

含义

运行

R运行runnable(on run queue)

正在运行或在运行队列中等待

中断

S中断sleeping

休眠中,受阻,在等待某个条件的形成或接受到信号

不可中断

D不可中断uninterruptible sleep (usually IO)

收到信号不唤醒和不可运行,进程必须等待直到有中断发生

僵死

Z僵死a defunct ("zombie") process

进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放

停止

T停止traced or stopped

进程收到SIGSTOP、SIGSTP、SIGTIN、SIGTOU信号后停止运行

ps -A 显示所有进程信息,结果如下

[root@ecs-g5tAc ~]# ps -A

  PID TTY          TIME CMD

    1 ?        00:01:03 systemd

    2 ?        00:00:00 kthreadd

    3 ?        00:00:01 ksoftirqd/0

    5 ?        00:00:01 kworker/0:0H

    7 ?        00:00:00 migration/0

    8 ?        00:00:00 rcu_bh

    9 ?        00:00:00 rcuob/0

   10 ?        00:00:37 rcu_sched

   11 ?        00:01:10 rcuos/0

   12 ?        00:00:02 watchdog/0

   13 ?        00:00:00 khelper

……省略部分结果

ps -u root 显示指定用户信息,结果如下:

[root@ecs-g5tAc ~]# ps -u root

  PID TTY          TIME CMD

    1 ?        00:01:03 systemd

    2 ?        00:00:00 kthreadd

    3 ?        00:00:01 ksoftirqd/0

    5 ?        00:00:01 kworker/0:0H

    7 ?        00:00:00 migration/0

    8 ?        00:00:00 rcu_bh

    9 ?        00:00:00 rcuob/0

   10 ?        00:00:37 rcu_sched

   11 ?        00:01:10 rcuos/0

……省略部分结果

ps -ef 显示所有进程信息,及命令行,结果如下:

[root@ecs-g5tAc ~]# ps -ef

UID        PID  PPID  C STIME TTY          TIME CMD

root         1     0  0 Nov06 ?        00:01:03 /usr/lib/systemd/systemd --system --deserialize 16

root         2     0  0 Nov06 ?        00:00:00 [kthreadd]

root         3     2  0 Nov06 ?        00:00:01 [ksoftirqd/0]

root         5     2  0 Nov06 ?        00:00:01 [kworker/0:0H]

root         7     2  0 Nov06 ?        00:00:00 [migration/0]

root         8     2  0 Nov06 ?        00:00:00 [rcu_bh]

root         9     2  0 Nov06 ?        00:00:00 [rcuob/0]

root        10     2  0 Nov06 ?        00:00:37 [rcu_sched]

root        11     2  0 Nov06 ?        00:01:10 [rcuos/0]

……省略部分结果

ps -ef | grep ssh 查看特定进程,结果如下:

[root@ecs-g5tAc ~]# ps -ef | grep ssh

root       895     1  0 16:40 ?        00:00:00 /usr/sbin/sshd -D

root      1499   895  0 16:41 ?        00:00:00 sshd: root@pts/0

root      1528  1501  0 16:45 pts/0    00:00:00 grep --color=auto ssh

       Windows: echo | tasklist > tasklist.txt

netstat -nltp | grep pid 查看进程对应的监听端口,结果如下:

[root@ecs-g5tAc ~]# netstat -nltp | grep 895

tcp        0      0 0.0.0.0:2566    0.0.0.0:*          LISTEN      895/sshd           

tcp6       0      0 :::2566         :::*              LISTEN      895/sshd      

1.1.2.监听端口

netstat命令用来打印系统的网络状态信息,包括网络连接(network connections)、路由表(routing tables)、网络接口设备统计信息(interface statistics)、伪装连接(masquerade connections)和多播成员信息(multicast memberships)等,可显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

1.1.2.1.Windows监听端口

Windows下netstat常用参数及其含义如下:

选项

含义

-a

显示所有活动的 TCP 连接以及计算机侦听的 TCP 和 UDP 端口

-n

显示所有已建立的有效连接,以数字形式地址和端口号

-p

 -p +协议类型(tcp/udp),显示某个指定协议的连接情况。

-e

显示以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量 。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量

-r

显示路由表信息

-s

 显示按协议统计信息,默认情况下,显示 IP 、IPv6 、ICMP 、ICMPv6 、TCP 、TCPv6 、UDP 和 UDPv6 的统计信息

数字

netstat +数字。重新显示选定统计信息,每次显示之间暂停时间间隔( 以秒计) 。按 CTRL+C 停止重显示统计信息。如果省略,netstat 显示当前配置信息一次

/?

查看netstat的具体帮助信息

-o

显示与每个连接相关的所属进程 ID

当命令运行后,“状态”回显值格式详解如下:

LISTEN

SYN-SENT

SYN-RECEIVED

ESTABLISHED

FIN-WAIT-1

FIN-WAIT-2

侦听来自远方的TCP端口的连接请求

再发送连接请求后等待匹配的连接请求

再收到和发送一个连接请求后等待对方对连接请求的确认

代表一个打开的连接 

等待远程TCP连接中断请求,或先前的连接中断请求的确认 

从远程TCP等待连接中断请求 

CLOSE-WAIT

CLOSING

LAST-ACK

TIME-WAIT

CLOSED


等待从本地用户发来的连接中断请求 

等待远程TCP对连接中断的确认 

等待原来的发向远程TCP的连接中断请求的确认 

等待足够的时间以确保远程TCP接收到连接中断请求的确认 

没有任何连接状


示例如下:

>netstat -a

>netstat -n

>netstat -o

1.1.2.2.Linux监听端口

Linux下netstat常用参数及其含义如下:

选项

含义

-a--all

显示所有选项,默认不显示LISTEN相关

-t--tcp

仅显示tcp相关选项

-u--udp

仅显示udp相关选项

-n--numeric

直接使用ip地址,而不通过域名服务器(拒绝显示别名,能显示数字的全部转化成数字)

-l--listening

仅列出有在Listen (监听) 的服务状态

-p--programs

显示建立相关链接的程序名

-r--route

显示路由信息,路由表

-e--extend

显示扩展信息,例如uid等

-s--statistice

显示网络工作信息统计表(按各个协议进行统计)

-c--continuous

每隔一个固定时间,执行该netstat命令。

当命令运行后,“状态”回显值格式详解如下:

LISTEN

SYN-SENT

SYN-RECEIVED

ESTABLISHED

FIN-WAIT-1

FIN-WAIT-2

侦听来自远方的TCP端口的连接请求

再发送连接请求后等待匹配的连接请求

再收到和发送一个连接请求后等待对方对连接请求的确认

代表一个打开的连接 

等待远程TCP连接中断请求,或先前的连接中断请求的确认 

从远程TCP等待连接中断请求 

CLOSE-WAIT

CLOSING

LAST-ACK

TIME-WAIT

CLOSED


等待从本地用户发来的连接中断请求 

等待远程TCP对连接中断的确认 

等待原来的发向远程TCP的连接中断请求的确认 

等待足够的时间以确保远程TCP接收到连接中断请求的确认 

没有任何连接状


Linux下的netstat的输出结果可以分为两个部分

1)Active Internet connections 有源TCP连接,其中"Recv-Q"和"Send-Q"指接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

2)Active UNIX domain sockets 有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

Linux下netstat回显列名解释如下:

Proto

RefCnt

Types

显示连接使用的协议。

表示连接到本套接口上的进程号。

显示套接口的类型。

State

Path


显示套接口当前的状态。

表示连接到套接口的其它进程使用的路径名。


列出所有端口:netstat -a

只显示监听端口: netstat -l

netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。

1.1.3.启动项

1.1.3.1.Windows启动项

1)首先找到电脑的“运行”窗口,或者直接按“win+R”;然后输入“msconfig”,然后会打开系统配置的窗口,选择其中的“启动”;进入启动设置之后,点击“打开任务管理器”;进入任务管理器之后,就可以看到电脑的所有启动项。

2)运行regedit,打开注册表。依次展开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,

其中就包含着你电脑里的启动项。

1.1.3.2.Linux启动项

Linux启动顺序中决定程序启动项的在init这里,分为两大步骤:按级别加载/etc/rc(0-6).d目录下的启动脚本;加载/etc/rc.local文件。所以设置启动项的方案按原理就分为这两种方式。

1)查看路径或文件:/etc/init.d/,/etc/rc.d/,/etc/rc.local ,/etc/rc.sysinit, /etc/inittab,/etc/profile。

2)早期的Linux版本是用chkconfig命令来设置rc的link,设置开机启动项;用service命令调用服务的start、stop、restart、status等函数。在现在主流Linux版本已经将这两个命令合并成一个systemctl命令了,映射关系如下:

任务

旧指令

新指令

使某服务自动启动

chkconfig --level 3 httpd on

systemctl enable httpd.service

使某服务不自动启动

chkconfig --level 3 httpd off

systemctl disable httpd.service

检查服务状态

service httpd status

systemctl status httpd.service

显示所有已启动的服务

chkconfig --list

systemctl list-units --type=service

启动某服务

service httpd start

systemctl start httpd.service

停止某服务

service httpd stop

systemctl stop httpd.service

重启某服务

service httpd restart

systemctl restart httpd.service

1.1.4.系统账号

1.1.4.1.Windows系统账号

1)首先找到电脑的“运行”窗口,或者直接按“win+R”;然后输入“cmd”,之后输入命令“net user”,获得用户列表。

2)右键单击此电脑选择属性;在属性界面点击控制面板主页进入;在控制面板主页点击用户账号进入;继续点击用户账号进入;进入用户账号界面,就可以看到本机的用户账号名称了;

3)首先找到电脑的“运行”窗口,或者直接按“win+R”;然后输入“cmd”,之后输入命令“lusrmgr.msc”,可以获得本地用户和组,但是该方法不适用于 Win10 家庭版。

4)针对Windows隐藏帐户的利用,查看注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\即可。当然,默认管理员权限无法查看,需要分配权限或是提升至Sytem权限。隐藏帐户的登录记录,可通过查看日志获取

1.1.4.2.Linux系统账号

1)Linux里存放的是用户信息是/etc/passwd 文件,该文件是由六个分号组成的7个信息。具体解析如下:

用户名 (magesh)

密码(x)

用户 ID(506)

群组 ID (507)

用户信息(2g Admin - Magesh M)

家目录(/home/mageshm)

Shell(/bin/bash)

 已创建用户的用户名,字符长度 1 个到 12 个字符。

代表加密密码保存在 `/etc/shadow 文件中。

代表用户的 ID 号,每个用户都要有一个唯一的 ID 。UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的。

代表群组的 ID 号,每个群组都要有一个唯一的 GID ,保存在 /etc/group文件中。

代表描述字段,可以用来描述用户的信息(LCTT 译注此处原文疑有误)。

代表用户的家目录。

代表用户使用的 shell 类型。

2)查看用户信息

who,查看当前登录用户的账户名

who显示的信息解释如下

第一列

第二列

第三列

登录用户名

登录终端,其中tty表示本地登录;pts/*表示远程登录

登录时间和登录主机的IP

w,w命令显示的信息比who命令显示的信息更加详细一点,他会对系统的资源做一些简单的统计。

USER

TTY

FROM

LOGIN@

IDLE

JCPU

PCPU

WHAT

登录用户名

登录终端,其中tty表示本地登录;pts/*表示远程登录

登录主机的IP

登陆时间

空闲时间

JCPU时间是附加到所有的进程的使用时间。它不包括过去的后台程序,但是包括当前正在运行的后台程序

PCPU时间是当前线程使用的时间,并在what域中展示出来

当前进程的命令行

whoami,查看当前登录用户的账户名

id,查看用户UID和GID信息

uid

gid

groups

用户ID,是用户的单一身份标识

组ID,对应多个UID

用户所属附加群组的ID

3)Linux密码文件

Linux下密码文件保存在/etc/shadow文件中。cat /etc/shadow可以查看文件内容。

name

password

lastchange

min-age

maxage

warning

inactive

expire

blank

登录名称,这个必须是系统中的有效账户名

已加密密码,分为三个部分,第一部分是表示使用哪种哈希算法;第二部分是用于加密哈希的salt;第三部分是已加密的哈希

哈希算法:$1表示MD5 ; $6 表示SHA-512 ;  $5 SHA-256

最近一次更改密码的日期,以距离1970/1/1的天数表示

不能更改密码的最少天数,最近更改过后几天才可以更改;如果为0表示“最短期限要求”

密码过期时间,必须更改密码前的最多天数

密码即将到期的警告期,以天数表示,0表示“不提供警告”

宽限天数,密码到期后

账号过期时间,以距离1970/1/1的天数计算 (千年虫)

预留字段

1.1.5.系统共享

1.1.5.1.Windows系统共享

微软的初衷是便于网管进行远程管理,这虽然方便了局域网用户,但对我们个人用户来说这样的设置是不安全的。如果电脑联网,网络上的任何人都可以通过共享硬盘,随意进入你的电脑。

所以我们有必要关闭这些共享。更为可怕的是,黑客可以通过连接你的电脑实现对这些默认共享的访问。

1)在命令提示符中输入:net share可以查看共享。

2)右键点击桌面上的计算机图标,然后点击管理,之后点击计算机管理,打开共享文件夹,可以看到共享。

1.1.6.系统日志

1.1.6.1.Windows日志

Windows日志一般存放在C:\Windows\System32\winevt\Logs目录下。

其中,系统日志记录名字为:System.evtx。记录的是操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据。

应用程序日志记录名字为:Application.evtx。记录的是应用程序或系统程序记录的事件,主要包括程序运行方面的事件。

安全日志记录名字为:Security.evtx。记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。

安全日志也是调查取证中最常用到的日志。默认安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。

事件ID

4624

4625

4634/4647

4672

20001

20003

46636

4656

10000

10001

登陆成功

登陆失败

注销成功

使用超级用户(如管理员)进行登录

即插即用驱动安装(System日志)

即插即用驱动安装(System日志)

移动设备访问成功(Securiy日志)

移动设备访问失败(Security日志)

连接WiFi(networkprofile日志)

断开WiFi(networkprofile日志)

1)在打开的控制面板当中,以“类别”方式来查看时,点击系统和安全;在“系统和安全”面板中找到“管理工具”,点击下面的“查看事件日志”,就可以打开“事件查看器”了。

2)可以通过dos命令来打开“事件查看器”。按下组合键“win+r”,然后输入“eventvwr.exe”,然后回车就可以打开了。

3)选择其中一种日志,例如:“windows日志”下的“系统”,之后右击系统选择“将所有事件另存为”,在弹出的窗口中选择存储路径,填写文件名,选择文件类型(4种类型,xml,txt,csv,evtx),点击保存。

1.1.6.2.Linux系统日志

大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd,默认配置文件为 /etc/syslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。

而Fedora、Ubuntu,、rhel6、centos6以上版本默认的日志系统都是rsyslog,rsyslog是syslog的多线程增强版。

Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。

完成这个过程的程序就是syslog。syslog可以根据日志的类别和优先级将日志保存到不同的文件中。默认配置下,日志文件通常都保存在“/var/log”目录下。

auth

authpriv

console

cron

daemon

ftp

kern

local0,local7

用户认证时产生的日志,如login命令,su命令

与auth类似,但是只能被特定用户查看

针对系统控制台的消息

系统定期执行计划任务时产生的日志

某些守护进程产生的日志

FTP服务

系统内核消息

由自定义程序使用

lpr

mail

mark

news

ntp

user

uucp

与打印机活动有关

邮件日志

产生时间戳。系统每隔一段时间向日志文件中输出当前时间,每行的格式类似与May 26 11:17:09 rs2 --MARK--,可以由此推断系统发生故障的大概时间

网络新闻传输协议(nntp)产生的消息

网络时间协议(ntp)产生的消息

用户进程

UUCP子系统















常见日志的优先级:

emerg

alter

crit

err

warning

notice

info

debug

none

紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户

需要立即修复,例如系统数据库损毁

危险情况,例如硬盘错误,可能会阻碍程序的部分功能

一般错误消息

警告

不是错误,但是可能需要处理

通用性消息,一般用来提供有用信息

调试程序产生的信息

没有优先级,不记录任何日志消息

所有的系统应用都会在 /var/log 目录下创建日志文件,或创建子目录再创建日志文件。

/var/log/boot.log

/var/log/cron

/var/log/maillog

开机或重启日志

计划任务日志

邮件日志

/var/log/messages

/var/log/httpd目录

/varlog/samba目录

该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵

Apache HTTP服务日志

samba软件日志

常用的日志文件如下:

access-log

acct/pacct

aculog

btmp

lastlog

messages

纪录HTTP/web的传输

纪录用户命令

纪录MODEM的活动

纪录失败的纪录

纪录最近几次成功登录的事件和最后一次不成功的登录

从syslog中记录信息(有的链接到syslog文件)

sudolog

sulog

syslog

utmp

wtmp

xferlog

纪录使用sudo发出的命令

纪录使用su命令的使用

从syslog中记录信息(通常链接到messages文件)

纪录当前登录的每个用户

一个用户每次登录进入和退出时间的永久纪录

纪录FTP会话

1.1.6.3.Nginx日志

打开nginx 安装目录,找到logs目录,日志在*/nginx/logs/目录下。打开日志可以看到日志内容。

Nginx日志中可以设置每个字段来到得到相应的日志类型,以下为常用字段

$bytes_sent

$body_bytes_sent

$connection

$connection_requests

$msec

$pipe

发送给客户端的总字节数

发送给客户端的字节数,不包括响应头的大小

连接序列号

当前通过连接发出的请求数量

日志写入时间,单位为秒,精度是毫秒

如果请求是通过http流水线发送,则其值为"p",否则为“."

$request_length

$request_time

$status

$time_iso8601

$time_local

$http_referer

请求长度(包括请求行,请求头和请求体)

请求处理时长,单位为秒,精度为毫秒,从读入客户端的第一个字节开始,直到把最后一个字符发送张客户端进行日志写入为止

响应状态码

标准格式的本地时间,形如“2017-05-24T18:31:27+08:00

通用日志格式下的本地时间,如"24/May/2017:18:31:27 +0800"

请求的referer地址。

$http_user_agent

$remote_addr

$http_x_forwarded_for

$request

$remote_user

$request_uri

客户端浏览器信息。

客户端IP

当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置。

完整的原始请求行,如 "GET / HTTP/1.1"

客户端用户名称,针对启用了用户认证的请求

完整的请求地址,如 "https://daojia.com/"

1.1.6.4.Apache日志

1)Apache在Linux下的日志默认路径为:“/etc/httpd/logs/*”或者“/var/log/httpd/*”,如果未找到相对应的apache日志,可以查看默认配置文件内容来寻找相对应的路径,默认配置文件路径为:“/etc/httpd/conf/httpd.conf”或者“/etc/init.d/httpd”。

2)Apache在Windows下的日志默认路径为:“*/apache/logs/*”。

远程主机IP

空白(E-mail)

空白(登录名)

请求时间

方法+资源+协议

状态代码

发送字节数

表明访问网站的是谁 

为了避免用户的邮箱被垃圾邮件骚扰,第二项就用“-”取代了

用于记录浏览者进行身份验证时提供的名字。

用方括号包围,而且采用“公用日志格式”或者“标准英文格式”。 时间信息最后的“+0800”表示服务器所处时区位于UTC之后的8小时。

服务器收到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 资源 协议”。

请求是否成功,或者遇到了什么样的错误。大多数时候,这项值是200,它表示服务器已经成功地响应浏览器的请求,一切正常。

表示发送给客户端的总字节数。它告诉我们传输是否被打断(该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。

1.1.6.5.IIS日志

1)由于不同的 Windows 版本,iis日志路径不一样。

Windows Server 2003 iis6日志路径:C:\Windows\System32\LogFiles。

Windows Server 2008 R2、2012、2016、2019 iis7以上日志路径:C:\inetpub\logs\LogFiles。

2)Windows Server 2003 iis6选择“开始”菜单 ,找到 管理工具(或 Windows 管理工具) ,之后打开Internet 信息服务(IIS)管理器(或 Internet Information Services (IIS)管理器),然后打开 iis 服务器窗口,依次展开要查看日志的网站;右键要查看日志的网站,点击属性,找到“网站”选项卡,然后查看属性,最后点击“常规”选项卡,会找到日志存放路径。

3)Windows Server 2008 R2、2012、2016、2019 系统选择“开始”菜单 ,找到 管理工具(或 Windows 管理工具) ,之后打开Internet 信息服务(IIS)管理器(或 Internet Information Services (IIS)管理器),然后打开 iis 服务器窗口,双击“日志”图标;

date

time

s-ip

cs-method

cs-uri-stem

cs-uri-query

s-port

日期

时间,这两个字段组成资源请求详细时间,改时间通常为服务器端时间,注意,服务器采用时区可能与本地时区不一致。

服务器IP,资源处理服务器IP,通常是服务器本机IP。

请求方式,常见有GET与POST请求。

请求资源路径,网站根目录下的绝对路径位置。

请求参数。

使用端口,通常HTTP协议端口是80,HTTPS协议端口是443。

cs-username

c-ip

cs(User-Agent)

sc-status

sc-substatus

sc-win32-status

time-taken

客户端用户名,通常为空或-。

客户端IP,判断唯一用户的重要依据,也是判断搜索蜘蛛爬虫真伪的依据。

用户代理字符串,用户使用的设备与浏览器类型,以及是否是爬虫蜘蛛程序,但此数据可模拟,需结合上面客户端IP才能准确判断是否是蜘蛛程序。

请求资源返回状态码,HTTP状态码,通常200为正常,301为跳转,404为资源不存在,500为服务器错误,详细网站HTTP状态码。 

协议子状态,通常为0。

Win32状态,通常为0。

花费时间,单位为毫秒。

cs-version

cs(Referer)

sc-bytes

s-sitename

s-computername

cs(Cookie)

cs-host

协议版本。

请求来路,从哪个页面点击链接进入的该资源。通常如果存在该字段,可判断出搜索引擎与搜索词。

发送文件的大小,单位为字节。一般为所请求资源文件的大小。

服务器站点名称,用于区分同一服务器下的多个站点。

服务器计算机名称。

客户端请求Cookie。

客户端请求主机名。

1.1.6.6.weblogic日志

WebLogic 8.x 和 9及以后的版本目录结构有所不同。

$MW_HOME




WebLogic的安装目录

域的实际名称,是在创建域的时候指定的

Server的实际名称,是在创建Server的时候指定的

Admin Server的实际名称,是在创建Admin Server的时候指定的

WebLogic 9及以后版本,日志在$MW_HOME\user_projects\domains\\servers\\logs\目录下。

WebLogic 8.x日志在$MW_HOME\user_projects\domains\\\目录下。

date

time

time-taken

bytes

c-ip

s-ip

DNS 相关字段 

c-dns

完成事务的日期,字段类型为 (在 W3C 规范中定义)

完成事务的时间,字段类型为 

完成事务所需的时间,以秒为单位,字段类型为 (在 W3C 规范中定义)

已传输的字节数,字段类型为 

客户端的 IP 地址。

 服务器的 IP 地址。

这些字段提供客户端或服务器的域名,字段类型为 (在 W3C 规范中定义)。

正在进行请求的客户端的域名

s-dns

sc-status

sc-comment

cs-method

cs-uri

cs-uri-stem

cs-uri-query


被请求的服务器的域名

响应的状态代码,如表示“找不到文件”状态的 (404)。此字段的类型为 (在 W3C 规范中定义)

随状态代码返回的注释,如“找不到文件”。此字段的类型为 

请求方法,例如 GET 或 POST。此字段的类型为 (在 W3C 规范中定义)

完整的被请求 URI。此字段的类型为 (在 W3C 规范中定义)

仅为 URI 的资源部分(忽略查询)。此字段的类型为 (在 W3C 规范中定义)

仅为 URI 的查询部分。此字段的类型为 (在 W3C 规范中定义)


1.1.6.7.

1.1.6.8.Tomcat日志

tomcat 对应日志的配置文件在tomcat目录下/conf/。

tomcat 的日志等级有:日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)。

tomcat  一般有两部分日志 一是运行中的日志catalina.out,它主要记录运行的一些信息,尤其是一些异常错误日志信息;二是访问日志信息access.`date +%F`.log,它记录的访问的时间,IP,访问的资料等相关信息。

作为整个 tomcat 服务器最核心的配置文件,server.xml位于$TOMCAT_HOME/conf目录下,server.xml的每一个元素都对应了 tomcat中的一个组件,通过对xml中元素的配置,实现对 tomcat中的各个组件和端口的配置。

className 

directory 

prefix

suffix

pattern

resolveHosts

规定了Valve的类型,是最重要的属性

指定日志存储的位置

指定了日志文件的前缀

指定了日志文件的后缀

指定记录日志的格式

如果这个值是true的话,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址

pattern

%h

%l

%u

%t

%r

%s

%b

远程主机名或IP地址;如果有nginx等反向代理服务器进行请求分发,该主机名/IP地址代表的是nginx,否则代表的是客户端。后面远程的含义与之类似,不再解释。

远程逻辑用户名,一律是”-”,可以忽略。

授权的远程用户名,如果没有,则是”-”。

访问的时间。

请求的第一行,即请求方法(get/post等)、uri、及协议。

响应状态,200,404等等。

响应的数据量,不包括请求头,如果为0,则是””-。













1)catalina.out即标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。默认这个日志文件是不会进行自动切割的,我们需要借助其他工具进行切割(注意:catalina.out文件如果过大会影响)

2)catalina.{yyyy-MM-dd}.log是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log,它是tomcat的启动和暂停时的运行日志,注意,它和catalina.out是里面的内容是不一样的。

3)localhost.{yyyy-MM-dd}.log主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,它也是包含tomcat的启动和暂停时的运行日志,但它没有catalina.2018-09-19.log 日志全。它只是记录了部分日志。

4)localhost_access_log. {yyyy-MM-dd}.txt:这个是访问tomcat的日志,请求时间和资源,状态码都有记录。

5)host-manager. {yyyy-MM-dd}.log:这个是放虚拟主机方面日志。

6)manager. {yyyy-MM-dd}.log:这个是放管理的日志。

1.1.7.最近创建或修改的文件

1.1.7.1.Windows

1)打开“我的电脑”,在搜索框里进行搜索“修改日期:本周”,即可将本周创建或修改的文件列出。如果想选择其他时间范围,可以点击修改日期,有相应的选项。

2)右键桌面左下角“开始”按钮。然后点击“运行”,或者“win+R”。在打开的“运行窗口”输入“recent”,点击“确定”。

按时间排序所有最近编辑过的文件都一目了然。

1.1.7.2.Linux

find命令可以用于查找目录和文件,Linux中find常见用法“find path -option [-print ] [-exec -ok command ] {} \”

-name  

-perm

-user   

-group

-mtime  

-atime   

#查找名为filename的文件

#按执行权限来查找

#按文件属主来查找

#按组来查找

#按文件更改时间来查找文件,-n指n天以内,+n指n天以前

#按文件访问时间来查GIN:

-ctime   

-nogroup

-nouser

-newer  

-ctime   


#按文件创建时间来查找文件,-n指n天以内,+n指n天以前

#查无有效属组的文件,即文件的属组在/etc/groups中不存在

#查无有效属主的文件,即文件的属主在/etc/passwd中不存

找文件,-n指n天以内,+n指n天以前 

#按文件创建时间来查找文件,-n指n天以内,+n指n天以前 


-nogroup

-nouser

-newer  

-type   

-size     


#查无有效属组的文件,即文件的属组在/etc/groups中不存在

#查无有效属主的文件,即文件的属主在/etc/passwd中不存

#查更改时间比f1新但比f2旧的文件

#查是块设备、目录、字符设备、管道、符号链接、普通文件

#查长度为n块[或n字节]的文件


-depth

-fstype

-type   

-size     

-depth


#使查找在进入子目录前先行查找完本目录

#查更改时间比f1新但比f2旧的文件

#查是块设备、目录、字符设备、管道、符号链接、普通文件

#查长度为n块[或n字节]的文件

#使查找在进入子目录前先行查找完本目录


-fstype

-mount

-follow

-cpio

-mount


#查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到

#查文件时不跨越文件系统mount点

#如果遇到符号链接文件,就跟踪链接所指的文件

#查位于某一类型文件系统中的文件,这些文件系统类型通常可

#查文件时不跨越文件系统mount点


-follow

-cpio

-prune

-amin

-mmin 


#如果遇到符号链接文件,就跟踪链接所指的文件

#对匹配的文件使用cpio命令,将他们备份到磁带设备中

#忽略某个目录

#查找在系统中最后N分钟访问的文件

#查找在系统中最后N分钟里修改过的文件


find / -amin -10     # 查找在系统中最后10分钟访问的文件

find / -atime -2        # 查找在系统中最后48小时访问的文件

find / -empty             # 查找在系统中为空的文件或者文件夹

find / -group cat        # 查找在系统中属于 groupcat的文件

find / -mmin -5         # 查找在系统中最后5分钟里修改过的文件

find / -mtime -1       #查找在系统中最后24小时里修改过的文件

find / -nouser           #查找在系统中属于作废用户的文件

1.1.8.计划任务

1.1.8.1.Windows

1)首先找到电脑的“运行”窗口,或者直接按“win+R”;然后输入“taskschd.msc”, 跳出任务计划程序框,点击左上角“任务计划程序库”,就能看到任务计划。

2)找到电脑的“运行”窗口或者直接按“win+R”,输入“regedit”,依次定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Schedule

1.1.8.2.Linux

crontab命令是Unix和Linux用于设置周期性被执行的指令, 该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。

系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等即为系统任务调度。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

命令格式为:

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

-u

file

-e

-l

-r

-i

用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行

file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab

编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件

显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容

从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件

在删除用户的crontab文件时给确认提示








一般用命令:crontab -l

1.1.9.历史记录

1)找到所有浏览器,找到历史记录进行查看。以火狐为例,打开菜单,找到“我的足迹”,点击“历史”,找到“查看历史记录侧栏。

2)Linux下输入“history”,查看历史命令。

1.1.10.Hosts头文件

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

一般情况下hosts文件的每行为一个主机,每行由三部分组成,每个部分由空格隔开。

第一部分

第二部分

第三部分

网络ip地址

主机名或域名

主机别名

当然每行也可以是两部分,即网络ip地址和主机名。主机名(hostname)和域名(Domain)的区别在于,主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip。

域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。格式如下:

1.1.10.1.Windows

1)Windows HOSTS文件是在“c:\windows\system32\drivers\etc,注意这个文件一定是在系统盘,如果你的系统在D盘请自行修改前面的盘符。

2)按下“Win+R”组合键,调出运行栏,在运行文本框输入“c:\windows\system32\drivers\etc”,点击确定按钮。

1.1.10.2.Linux

Linux HOSTS文件是“/etc/hosts”。

1.1.11.文件关联

1)进入控制面板,点击程序,找到默认程序一栏中的“设置默认程序”然后就可以设置默认程序了。

2)运行regedit,打开注册表。依次展开“计算机\HKEY_CLASSES_ROOT\”。

1.1.12.映像劫持

“映像劫持”,也被称为“IFEO”(Image File Execution Options),在WindowsNT架构的系统里,IFEO的本意是为一些在默认系统环境中运行时可能引发错误的程序执行体提供特殊的环境设定。

当一个可执行程序位于IFEO的控制中时,它的内存分配则根据该程序的参数来设定,而WindowsN T架构的系统能通过这个注册表项使用与可执行程序文件名匹配的项目作为程序载入时的控制依据,最终得以设定一个程序的堆管理机制和一些辅助机制等。

出于简化原因,IFEO使用忽略路径的方式来匹配它所要控制的程序文件名,所以程序无论放在哪个路径,只要名字没有变化,它就运行出问题。

1)运行regedit,打开注册表。依次展开“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File ExecutionOptions”。

1.1.13.防火墙

1.1.13.1.Windows

点击开始,找到控制面板,点击管理工具,选择高级安全windows防火墙

1.1.13.2.Linux

Linux下查看防火墙是否开启使用命令“service iptables status”或“systemctl status firewalld”

如果要查看iptables目前运行的规则,使用iptables -vnL可以列出。

-L

-n

-v

–-line-number

查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数

不对ip地址进行反查,加上这个参数显示速度会快很多

输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口

显示规则的序列号,这个参数在删除或修改规则时会用到

filter

nat

mangle

raw


 控制数据包是否允许进出及转发(INPUT、OUTPUT、FORWARD)

 控制数据包中地址转换,可以控制的链路有prerouting,input,output,postrouting

修改数据包中的原数据,可以控制的链路有prerouting,,input,forward,output,postrouting

控制nat表中连接追踪机制的启用状况,可以控制的链路有prerouting,output


PREROUTING

INPUT

FORWARD

OUTPUT

POSTROUTING

 路由前

 数据包流入口

 转发管卡

 数据包出口

 路由后

1.1.14.邮件信息

电子邮件也许是一个Internet上的流行最广泛的应用。也是我们现在的大多数网络办公流程的基础。各种邮件服务器很多,但都大都遵循以1982年出版的RFC822--《ARPA网络文本信息格式标准(STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES)》为基础的一系列邮件格式的规定。

  RFC(The Requests for Comments)是用来规定互联网工作标准的文档。我们使用的时候并没有注意到这些协议在我们的邮件通信过程中默默的发挥着的作用,这丝毫也不能减低这些作用的重要性。邮件内部还有很多不为人知的秘密。

  在RFC822中规定一封信包括一个必须的多个头部域(header fields)和一个可选的体部(body)组成。从一封信头开始至第一个空行都是头部。头部定义了一个邮件的各项基本要素,路由信息等内容。

在Outlook EXPress中选定一封信看它的属性。在详细资料选项卡中显示的就是这封邮件的头部内容。也可以选定一封信,另存为一个.eml文件。由于文件是一个纯文本文件,用一般的编辑器打开就可以看到邮件的内容。

头部有各个头部域组成,每一个头部域都包括域名(field-name)和域体(field-body),它们之间以":"分隔。每一个头部域都可以看作由ASCII码字符组成的独立的文本。常见的头部域包括:"Return-Path", "Received", "Date", "From", "Subject", "Sender","To", "cc","MIME-Version"等。各头部域之间没有规定顺序。

就像各个域的名字一样。他们表示的具体意义也不同。

Return-Path域

Received域

Date域

From域

Subject域

Sender域

To,cc域都

MIME-Version域

Content-Type域

退信的地址

路由信息。

建立信件的时间

邮件作者

邮件的主题

邮件的实际发送者

接受的邮件地址

MIME的版本(以后扩充的域)

邮件内容的格式。

CC

BCC

Reply-to

X-mailer

X-Originating-IP

抄送的邮件地址

密送的邮件地址

回复地址,由发件方编辑,希望收件人回复邮件时回复到指定的地址。一般情况下,如不额外添加Reply-to字段,收件人回复邮件时,将回复到原邮件From字段标识的地址。

发信客户端版本

来源IP

Received域:Internet上的信件可能是由多个服务器依靠协议传递到达最终的目的邮箱的。每一个服务器都会把自己的一段 Received域信息添加近信件。

所以可能有多段Received域,依传递次序排列。这个域的内容很有意思,我们可以根据每一段的内容来跟踪一封信在internet上的传递过程。网管人员也可以根据这些信息做出很有价值的判断。

Content-Type域:这个域的内容根据互联网的发展产生,使邮件可以用来传输非文本内容,在RFC822中并没有定义,而是在后续的RFC2045,RFC2046等文档中有定义。

还有一些不太常见的头部域,如"References","Message-ID"域。以及一些由不同厂家定义的自己的域(域名以"X-"开头)。

一封邮件首先建立的是核心的几个域:From,To,Message-Id,Subject,Date等,在传输过程中每通过一个服务器再由此服务器在邮件头部添加一行Received信息,最后一个服务器添加退信地址(Return-Path)。判断伪造邮件可以找sender或者authsender字段。

查看邮件头信息操作如下:打开outlook客户端,随便找一封需要查看邮件头的邮件。双击打开邮件之后,找到“标记”菜单栏下方的选项箭头“邮件选项”,接着出现的邮件“属性”对话框下方的internet邮件头就是所要的信息。

1.1.15.DDOS

分布式拒绝服务攻击原理分布式拒绝服务攻击DDoS是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布的、协同的大规模攻击方式。


单一的DoS攻击一般是采用一对一方式的,它利用网络协议和操作系统的一些缺陷,采用欺骗和伪装的策略来进行网络攻击,使网站服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。

与DoS攻击由单台主机发起攻击相比较,分布式拒绝服务攻击DDoS是借助数百、甚至数千台被入侵后安装了攻击进程的主机同时发起的集团行为。

一个完整的DDoS攻击体系由攻击者、主控端、代理端和攻击目标四部分组成。主控端和代理端分别用于控制和实际发起攻击,其中主控端只发布命令而不参与实际的攻击,代理端发出DDoS的实际攻击包。

对于主控端和代理端的计算机,攻击者有控制权或者部分控制权.它在攻击过程中会利用各种手段隐藏自己不被别人发现。

真正的攻击者一旦将攻击的命令传送到主控端,攻击者就可以关闭或离开网络.而由主控端将命令发布到各个代理主机上。这样攻击者可以逃避追踪。

每一个攻击代理主机都会向目标主机发送大量的服务请求数据包,这些数据包经过伪装,无法识别它的来源,而且这些数据包所请求的服务往往要消耗大量的系统资源,造成目标主机无法为用户提供正常服务。甚至导致系统崩溃。

DDoS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。

当被DDoS攻击时,主要表现为:

(1)被攻击主机上有大量等待的TCP连接。

(2)网络中充斥着大量的无用的数据包,源地址为假。

(3)制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。

(4)利用受害主机提供的服务或传输协议上的缺陷,反复高速地发出特定的服务请求,使受害主机无法及时处理所有正常请求。

(5)严重时会造成系统死机。

1.1.15.1.基于系统及协议的弱点分类

1)洪水攻击。在洪水攻击中。傀儡机向受害者系统发送大量的数据流为了充塞受害者系统的带宽,影响小的则降低受害者提供的服务,影响大的则使整个网络带宽持续饱和,以至于网络服务瘫痪。典型的洪水攻击有UDP洪水攻击和ICMP洪水攻击。

2)扩大攻击。扩大攻击分为两种,一种是利用广播lP地址的特性,一种是利用反射体来发动攻击。前一种攻击者是利用了广播IP地址的特性来扩大和映射攻击,导致路由器将数据包发送到整个网络的广播地址列表中的所有的广播IP地址。这些恶意的流量将减少受害者系统可提供的带宽。典型的扩大攻击有Smurf和Fraggle攻击。

3)利用协议的攻击。该类攻击则是利用某些协议的特性或者利用了安装在受害者机器上的协议中存在的漏洞来耗尽它的大量资源。典型的利用协议攻击的例子是TCP SYN攻击。

4)畸形数据包攻击。攻击者通过向受害者发送不正确的IP地址的数据包,导致受害系统崩溃。畸形数据包攻击可分为两种类型:IP地址攻击和IP数据包属性攻击

发生DDOS攻击时,可以通过wireshark进行捕获流量,之后对流量进行分析判断。

wireshark是一款很专业的网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

Frame

Ethernet II

Internet Protocol Version 4

Transmission Control Protocol

Hypertext Transfer Protocol

物理层的数据帧概况

数据链路层以太网帧头部信息

互联网层IP包头部信息

传输层的数据段头部信息。此处为TCP协议

应用层的信息。此处是 HTTP协议

1)Frame

2)Ethernet II

3)Internet Protocol Version 4

4)Transmission Control Protocol

No

Time

Source

Destination

Protocol

Length

info

代表数据包标号。

在软件启动的多长时间内抓到。

来源ip。

目的ip。

协议。

数据包长度。

数据包信息。

1.1.15.2.捕获过滤

1)捕捉过滤器语法


语法:< Value> < Logical Operations>

Protocol(协议): ether,fddi, ip,arp,rarp,decnet,lat, sca,moprc,mopdl, tcp , udp 等,如果没指明协议类型,则默认为捕捉所有支持的协议。

Direction(方向):src, dst,src and dst, src or dst等,如果没指明方向,则默认使用 “src or dst” 作为关键字。

Host(s): net, port, host, portrange等,默认使用”host”关键字,”src 10.1.1.1″与”src host 10.1.1.1″等价。

Logical Operations(逻辑运算):not, and, or 等,否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。

2)显示过滤器语法

捕获过滤器使用BPF语法,而显示过滤器使用wireshark专有格式。并且显示显示过滤器区分大小写,大部分使用的是小写。

语法格式:Protocol String1 String2 Comparision operator Value Logical Operations Other expression

Protocol(协议):该选项用来指定协议。该选项可以使用位于OSI模型第2-7层的协议。

String1,String2(可选项):协议的子类。

Comparision operator: 指定运算比较符。

英文写法

C语言写法

含义

eq

==

等于

ne

!=

不等于

gt

>

大于

lt

<

小于

ge

>=

大于等于

le

<=

小于等于

Logical expression: 指定逻辑运算符。

英文写法

C语言写法

含义

eq

==

等于

ne

!=

不等于

gt

>

大于

lt

<

小于

ge

>=

大于等于

le

<=

小于等于

1.1.15.3.常见使用的捕获过滤语句

1)只(不)捕获某主机的HTTP流量

host 192.168.5.231 and port 80 and http
#只捕获主机192.168.5.231 的http流量。注意如果你的HTTP端口为8080,把80 改为8080。

port 80 and http
#捕获所有经过该接口的http流量。注意如果你的HTTP端口为8080,把80 改为8080。

host 192.168.5.231 and not port 80
#捕获主机192.168.5.231除 http 之外的其他所有流量,注意如果你的HTTP端口为8080,把80 改为8080。

not port 80
#捕获除 http 之外的其他所有流量,注意如果你的HTTP端口为8080,把80 改为8080。

not port 80 and !http
#捕获除 http 之外的其他所有流量,注意如果你的HTTP端口为8080,把80 改为8080。

2)只捕获某主机的所有流量

host 192.168.5.231
#捕获源目主机均为192.168.5.231

dst 192.168.5.231
#捕获目的主机均为192.168.5.231

src 192.168.5.231
#捕获来源主机均为192.168.5.231

net 192.168.5.0/24
#捕获网段为d192.168.5的所有主机的所有流量

3)只捕获某主机的DNS流量

host 192.168.5.231 and port 53
#只捕获主机192.168.5.231 的dns流量。

src 192.168.5.231 and port 53
#只捕获主机192.168.5.231 对外的dns 的流量。

dst 192.168.5.231 and port 53
#只捕获dns服务器相应主机192.168.5.231的dns流量。

port 53
#捕获接口中的所有主机的dns流量

4)只(不)捕获APR流量

host 192.168.5.231 and arp
#只捕获主机192.168.5.231 的arp流量。

host 192.168.5.231 and !arp
#只捕获主机192.168.5.231 除arp外的所有流量。

arp
#捕获接口中的所有arp请求

!arp
#捕获接口中所有非arpq请求。

5)只捕获特定端口的流量

tcp portrange 8000-9000 an port 80
#捕获端口8000-9000之间和80端口的流量

port 5060
#捕获sip流量,因为sip的默认端口是5060。举一反三:port 22#捕获ssh流量

6)捕获电子邮件的流量

host 192.168.5.231 and port 25
#捕获主机192.168.5.231 的POP3协议的流量。

port 25 and portrange 110-143
#因为电子邮件的协议:SMTP、POP3、IMAP4,所以捕获端口的流量。

7)捕获vlan 的流量

vlan
#捕获所有vlan 的流量

vlan and (host 192.168.5.0 and port 80)


#捕获vlan 中主机192.168.5.0 ,前提是有vlan,在wifi中不一定可以捕获到相应的流量,局域网(公司,学校里面的网络应该有vlan)


文章来源: https://mp.weixin.qq.com/s?__biz=Mzg5MzU4NTgwNQ==&mid=2247484896&idx=1&sn=bb81ae6b70e9b4c167ddcbbfb0cb7eb8&chksm=c02dd502f75a5c1419d503fcd2d5e913b308f5e12ab2def5b22706d06221373739d55b079553&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh