更新时间:2022-01-20 16:15:34浏览次数:502+次
以下为你详细解释ngrep、nfsstat、newusers、newgrp命令的用法。
Linux ngrep命令的用法及解释
Linux ngrep命令是grep命令的网络版,他力求更多的grep特征,用于搜寻指定的数据包。正由于安装ngrep需用到libpcap库,所以支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包,理解bpf的过滤机制。
1、安装
ngrep命令的下载地址:https://sourceforge.net/projects/ngrep/files/,libpcap下载地址:http://www.tcpdump.org/。先用yum install libpcap完全安装libpcap,注意有时候用libpcap安装包安装的不完整会影响ngrep的使用。
如果yum无法安装就用以下步骤安装libpcap:
wget https://www.tcpdump.org/release/libpcap-1.10.1.tar.gz
tar -zxf libpcap-1.10.1.tar.gz
cd libpcap-1.10.1
./configure
make && make install
ngrep的安装就是 configure/make/make install 三步曲。
注:configure时是遇到 please wipe out all unused pcap installations,添加以下选项:
./configure --with-pcap-includes=/usr/local/include/pcap
在安装后输入ngrep来验证下安装是否成功。
2、语法
ngrep <-LhNXViwqpevxlDtTRM> <-IO pcap_dump> <-n num> <-d dev> <-A num>
<-s snaplen> <-S limitlen> <-w normal|byline|single|none> <-c cols>
<-P char> <-F file> <match expression> <bpf filter>
3、选项
-e :显示空数据包
-i :忽略大小写
-v :反转匹配
-R :don't do privilege revocation logic
-x :以16进制格式显示
-X :以16进制格式匹配
-w :整字匹配
-p :不使用混杂模式
-l :make stdout line buffered
-D :replay pcap_dumps with their recorded time intervals
-t :在每个匹配的包之前显示时间戳
-T :显示上一个匹配的数据包之间的时间间隔
-M :仅进行单行匹配
-I :从文件中读取数据进行匹配
-O :将匹配的数据保存到文件
-n :仅捕获指定数目的数据包进行查看
-A :匹配到数据包后dump随后的指定数目的数据包
-s :set the bpf caplen
-S :set the limitlen on matched packets
-W :设置显示格式byline将解析包中的换行符
-c :强制显示列的宽度
-P :set the non-printable display char to what is specified
-F :使用文件中定义的bpf(Berkeley Packet Filter)
-N :显示由IANA定义的子协议号
-d :使用哪个网卡,可以用-L选项查询
-L :查询网卡接口
4、实例
捕捉cloudian:18080端口的request和response,-W byline用来解析包中的换行符,否则包里的所有数据都是连续的,可读性差。-d lo是监听本地网卡:
ngrep -W byline -d lo port 18080
捕捉amazon:80端口的request和response。-d eth0是用来监听对外的网卡:
ngrep -W byline -d eth0 port 80
可以用-d any来捕捉所有的包:
ngrep '[a-zA-Z]' -t -W byline -d any tcp port 18080
捕获字符串.flv,比如要查看在Web Flash 视频中的.flv文件的下载地址:
ngrep -d3 -N -q \.flv
interface: \Device\TNT_40_1_{670F6B50-0A13-4BAB-9D9E-994A833F5BA9} (10.132.0.0/2
55.255.192.0)
match: \.flv
打开一个视频页面:
T(6) 10.132.34.23:24860 -> 61.142.208.154:80 [AP]
GET /f59.c31.56.com/flvdownload/12/19/ggyg7741@56.com_56flv_zhajm_119556973
97.flv HTTP/1.1..accept: */*..Referer: http://www.56.com/flashApp/v_player_
site.swf..x-flash-version: 9,0,45,0..UA-CPU: x86..Accept-Encoding: gzip, de
flate..User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET
CLR 2.0.50727; .NET CLR 3.0.04506.30)..host: f59.r.56.com..Connection: Keep
-Alive..Cookie: whistoryview=23423759-23635627-23423344-23171935-23058374-2
3081156-23207350-22395727-; geoip=............; wl_all_s=y....
OK。地址已经找到了,就是http://f59.c31.56.com/flvdownload/12/19/ggyg7741@56.com_56flv_zhajm_11955697397.flv
加个-W byline参数后,将解析包中的换行符:
T(6) 2017/11/25 15:56:12.192619 10.132.34.23:26365 -> 59.151.21.101:80 [AP]
GET /aa.flv HTTP/1.1.
Accept: */*.
Accept-Language: zh-cn.
UA-CPU: x86.
Accept-Encoding: gzip, deflate.
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.5072
7; .NET CLR 3.0.04506.30).
Host: www.google.cn.
Connection: Keep-Alive.
Cookie: PREF=id=a0b2932c336477e9:TB=4:NW=1:TM=1187877372:LM=1187956074:S=Y1Fzndp
rT3vFo7ac; SID=*; NID=7=*
Linux nfsstat命令的用法及解释
Linux nfsstat命令用于列出NFS客户端和服务器的工作状态。
1、语法
nfsstat(选项)
2、选项
-s:仅列出NFS服务器端状态;
-c:仅列出NFS客户端状态;
-n:仅列出NFS状态,默认显示nfs客户端和服务器的状态;
-2:仅列出NFS版本2的状态;
-3:仅列出NFS版本3的状态;
-4:仅列出NFS版本4的状态;
-m:打印以加载的nfs文件系统状态;
-r:仅打印rpc状态。
3、实例
要显示关于客户机发送和拒绝的RPC和NFS调用数目的信息,输入:
nfsstat -c
要显示和打印与客户机NFS调用相关的信息,输入如下命令:
nfsstat -cn
要显示和打印客户机和服务器的与RPC调用相关的信息,输入如下命令:
nfsstat -r
要显示关于服务器接收和拒绝的RPC和NFS调用数目的信息,输入如下命令:
nfsstat –s
Linux newusers命令的用法及解释
Linux newusers命令用于批处理的方式一次创建多个命令。
1、语法
newusers(参数)
2、参数
用户文件:指定包含用户信息的文本文件,文件的格式要与/etc/passwd相同。
3、实例
实用newusers命令批量添加用户:
用法很简单,newusers后面直接跟一个文件,文件格式和/etc/passwd的格式相同。
用户名1:x:UID:GID:用户说明:用户的家目录:所用SHELL
举例:
jingang0:x:520:520::/home/jingang0:/sbin/nologin
jingang1:x:521:521::/home/jingang1:/sbin/nologin
......
值得一提的是关于SHELL类型,查看主机上所有SHELL,可以通过chsh来查看:
[root@localhost beinan]# chsh --list
/bin/sh
/bin/bash
/sbin/nologin
/bin/ksh
/bin/tcsh
/bin/csh
/bin/zsh
其中除了/sbin/nologin,其它类型的SHELL都能登录操作系统,nologin大多是虚拟用户用的SHELL,也就是说虽然他是系统用户,但他并无登录操作系统的权限;如果您想添加这类用户,就把他的SHELL设置成/sbin/nologin,比如上面的例子。
Linux newgrp命令的用法及解释
Linux newgrp命令相关的命令有:groupadd,gpasswd。
1、功能说明
登入另一个群组。
2、语法
newgrp [群组名称]
3、补充说明
newgrp指令类似login指令,当它是以相同的帐号,另一个群组名称,再次登入系统。欲使用newgrp指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则newgrp指令会登入该用户名称的预设群组。
4、实例
[zhangy@localhost ~]# newgrp www #登录到www群组
相关资讯