2017年3月

简介

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

常用参数

grep :
-c 表示打印符合要求的行数

-i 表示忽略大小写

-n 表示输出符合要求的行及其行号

-v 表示打印不符合要求的行

-A 后面跟一个数字(有无空格都可以)例如 “-A2” 表示打印符合要求的行以及下面的两行

-B 后面跟一个数字 例如“-B2” 表示打印符合=要求的行以及上面的两行

-C 后面跟一个数字 例如“-C2” 表示打印符合要求的行以及上下各两行

-r 是递归查找

实例

grep -n ‘root’ /etc /passwd 过滤带有某个关键词的行并输出行号

grep -nv ‘root’ /etc/passwd 过滤不带有某个关键词的行并输出行号

grep ‘[0-9]’ /etc/passwd 过滤所有包含数字的行

grep -v ‘[0-9]’ /etc/passwd 过滤所有不包含数字的行

grep -v ‘^#’ 删除所有已“#”开头的行

grep -v ‘^#’/etc/crontab |grep -v ‘^$’ 删除所有的空行和以’#’开头的行

在正则表达式中“^”表示行的开始,“$”表示行的结尾,空行用“^$”表示

1”表示除[]内的字符之外的字符

过滤任意一个字符和重复的字符:grep ‘r..o’ /etc/passwd “.“表示任意一个字符 “r..o”表示把r与o之间有两个任意字符的行过滤出来。

“”表示零个或多个前面的的字符, “ooo” 表示 oo ooo ooo或者更多的o.

grep ‘r..o’ /etc/passwd

“.*” 表示零个或者多个任意字符,空行也包含在内。

grep ‘.*’ /etc/passwd |wc -l

指定要过滤的字符的出现次数

grep ‘0\{2\}’ /etc/passwd

{}其内部为数字,表示前面的字符要重复出现的次数,需要强调的是,{}左右都需要加上脱义字符“\”。另外“{}”还可以表示一个范围,具体格式为“{n1,n2}”

筛选 一个或者多个前面的字符

egrep ‘o+’ test.txt
egrep ‘oo+’ test.txt
egrep ‘ooo+’ text.txt

筛选零个或者一个前面的字符

egrep ‘o?’ test.txt
‘oo?’
‘ooo?’

筛选字符串1或者字符串2

egrep ‘oooo?’ test.txt

egrep 中()的应用

egrep ‘r(oo)|(at)o’ test.txt

用()表示一个整体,例如 “(oo)+”就表示一个‘oo’或者多个‘oo’


  1. 字符

Nmap (网络映射器)是由 Gordon Lyon设计,用来探测计算机网络上的主机和服务的一种安全扫描器。为了绘制网络拓扑图,Nmap的发送特制的数据包到目标主机,然后对返回数据包进行分析。Nmap是一款枚举和测试网络的强大工具。

一:安装

nmap可以到http://nmap.org/download.html下载最新版本,然后下一步下一步的安装就好了。然后进入命令提示符(cmd),输入nmap,如果可以看到nmap的帮助信息,说明安装成功。
二:使用

1、Nmap 简单扫描

Nmap 默认发送一个arp的ping数据包,来探测目标主机在1-10000范围内所开放的端口。

命令语法:

nmap

解释:Target ip address 为你目标主机的ip地址
例子:nmap 192.168.1.1

如果觉得命令行的不直观,也可以使用gui版nmap–Zenmap 看起来很直接很舒服对不对?
只要在目标的那栏,输入你想扫描的目标即可,如下图,我输入192.168.1.1-254其实也可以输入192.168.1.1/24 效果一样。
nmap常用组合
快速检测一个网段中的存活主机

nmap-sP x.x.x.x/24
从文本中读取相关IP,进行端口扫描,同时识别服务

nmap -p80,22-sV-iL ip.txt
只显示开放该端口的主机

nmap-p80–open 1.1.1.0/24
不使用反向解析,扫描80端口开放的主机,同时保存为xml文件

nmap-n-p80-iL ip.txt -sV–open-oX80.xml
识别一台主机的操作系统

nmap-O 1.1.1.1
在不检测一个存活主机的情况下,进行全端口扫描,识别服务

nmap-Pn-p1-65535-A-sV 1.1.1.1
扫描mysql的空口令:

nmap-p3306–script=mysql-empty-password.nse 192.168.5.1
暴力破解mssql的账户密码

nmap-p1433–script=ms-sql-brute –script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.5.1

按照具体分类,参数如下

tcp:
-sT TCP连续扫描

-sS SYN扫描

-sN -sF -sX

-sM TCP Maimon扫描

-sA TCP ACK扫描

-sW TCP窗口扫描

-sI TCPIdle扫描

UDP:

-sU
–host-timeout 跳过响应过慢的主机

-p:端口范围

-F 快速扫描

-r 顺序扫描

输出选项:

-oN 正常输出

-0X XML文件输出

-oG

-sV 服务版本识别

-sO 识别目标操作系统

-Pn 禁用主机检测 (用于屏蔽了PING请求的主机) //个人感觉这个参数挺有用的。

-A 强力检测

ipv6 -6

脚本引擎:

auth: 使用暴力破解等技术找出目标系统上的认证信息

default:启动–sC 或者-A选项时运行的此类脚本

discovery:该类脚本用于探索网络

dos:使目标系统拒绝服务,

exploit 利用目标系统的安全漏洞

external:该类脚本可能泄露信息给第三方

fuzzer: 对目标系统进行模糊测试

instrusive 可能导致目标系统崩溃,或者耗尽目标系统所有资源

malware : 检查目标系统上是否存在后门

safe:

version : 配合版本检测选项-sV ,这类脚本对目标系统的服务程序进行深入的版本检测

vuln 检查目标系统上的安全漏洞

-sC 启动默认类NSE脚本

–script ||

–script-args 这个选项用于给脚本指定参数

规避检测的选项:

-f 使用小数据包

–mtu 调整数据包的大小

-D 诱饵

–source-port或者 -g 模拟源端口

–data-length 改变发动书记宝的默认数据长度

–max-parallelism 限制nmap并发的最大连接数

–scan-denlay

后记:有一天去图书馆看看书,无意间就在书架上看到了一本《Nmap渗透测试指南》 没想到nmap都有人出书了,说明有人对nmap还是挺有研究的,以前只是用来做扫描端口的,感觉自己还是太浅显。文中后一部分的内容都是参考该书。 前一部分参考了乌云知识库。关注与学习安全,乌云都是一个不错的选择。

今天因为没有正常关闭虚拟机,然后打开虚拟机就提示:无法获取快照信息: 锁定文件失败。模块“Snapshot”启动失败。未能启动虚拟机。
无法获取快照信息: 锁定文件失败。
解决方法√:
打开你存放虚拟机系统文件的文件夹,注意,是系统文件,不是虚拟机的安装目录,也就是你建立虚拟机的时候下图设置的位置:
无法获取快照信息: 锁定文件失败。
然后以下面关键字搜索这个文件夹:*.lck
无法获取快照信息: 锁定文件失败。
我这里找到2个,删之~~~~

以下就是vim的常用命令了,都是我用的时候手打的笔记,版式有点乱。。。掌握以下命令用vim感觉就顺手多了。

一般模式:

移动光标:
h或者左键 向左移动一个字符

l或者右键 向右移动一个字符

k 或者上键   向上移动一个字符

j或者下键 向下移动一个字符

ctrl+f 向前移动一页

Ctrl+b 向后移动一页

数字 0或者shift+ 6 移动到本行行首

shift +4 移动到本行行尾

gg 移动到首行

G 移动到尾行

nG(任意的数字) 移动到N行

删除、复制、粘贴:
x X x 表示向后删除一个字符,X表示向前删除一个字符

nx 向后删除n个字符

dd 删除/剪切光标所在的那一行

ndd 删除/剪切光标所在行之后的n行

yy 复制光标所在行

p 从光标所在行开始,向下粘贴已经复制或者粘贴的内容。

P 从光标所在行开始,想上粘贴已经复制或者粘贴的内容

nyy 从光标开始所在行,向下复制n行

u 还原上一步操作。

v 按v后移动光标会选中指定字符,然后可以实现复制,粘贴等操作

编辑模式:
i 在当前字符前插入.

I 在光标所在行的行首插入。

a 在当前字符前插入。

A在光标所在行的行尾插入

o 在当前行的下一行插入新的一行

O 在当前行的上一行插入新的一行

P 从光标所在行开始,向上粘贴已经复制或者粘贴的内容

nyy 从光标所在行开始,向下复制n行

u 还原上一步操作。

v 按v后移动光标会选中指定字符,然后可以实现复制,粘贴等操作

命令模式:

/word 向光标之后查找一个字符串word 按n向后继续搜索

?word 向光标之前查找一个字符串word按n向前继续搜索

: n1,n2s/word1/word2/g 在n1–n2行之间查找word1并替换为Word2 不加g 则只替换每一行的第一个word1

: 1,$s/word1/word2g 将文档中所有的word1替换为word2,不加g则肢体管每行第一个word1

:w 保存文本

:q 退出vim

:w! 强制保存,在root用户下,即使文本只读也可以完成保存

:q! 强制退出,所有改动不生效

:wq 保存并退出

:set num 显示行号

:set nonu 不显示行号

昨晚在服务器上搭建一个PHP的网站,按照往常的套路下一步下一步,一切准备工作完毕,上传了网站源码 准备开始配置网站,在浏览器输入网址,网址也解析到了服务器上,但是一打开就提示 服务器错误,500 – 内部服务器错误。你查找的资源存在问题,因而无法显示。 瞬间懵逼!想想应该没问题啊。这是为什么呢? 作为一名非专业的网管,找出问题方法第一步法,对比法,然后就对比之前搭建的PHP网站 配置,好像也没啥的不同的,一时间陷入了僵局。不自觉地就点了一根芙蓉王,眉头紧锁陷入沉思,灵光乍现突然就想了一个屌丝(刚哥),曾经对我说过 要记得启用32应用程序 启用父路径什么的。于是就有了下面的解决方法,完美解决! 信刚哥,无BUG!
解决方法:

开始菜单→管理工具→Internet 信息服务(IIS)管理器→应用程序池→网站对应的那个程序池→操作→编辑应用程序池→高级设置→启用32位应用程序→默认是Flase 改为True 。好了 ,在浏览器F5刷新一下可以正常显示了网页了。

PHP5已经绑定sqlite,只要我们开启就好了

1、打开PHP.ini(去掉前面的分号注释开启)


extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll

2、重启apache或IIS

3、OK 搞定!

这么简单的东西被网上一大堆所谓的教程给弄迷糊了,害的我折腾半天!自己写个好了 CNM!