named-checkzone
使用named-checkzone命令可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称
补充说明
named-checkzone命令 可以进行区域文件有效性检查和转换,必须指定区域名称和区域文件名称。
语法
named-checkzone [选项] [区域名] [区域文件名]
选项
-q 安静模式
-d 启用调试
-c <类别> 指定区域的类别。如果没指定就使用IN
例子
对区域文件/var/named/192.168.0.rev进行有效性检查和转换。
[root@localhost ~]# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev
zone0.168.192.in-addr.arpa/IN: loaded serial 1268360612
OK
对区域文件/var/named/sh.com.hosts进行有效性检查和转换。
[root@localhost ~]# named-checkzone sh.com /var/named/sh.com.hosts
zonesh.com/IN: sh.com/MX 'mail.sh.com' is a CNAME (illegal)
zonesh.com/IN: loaded serial 1268360234
OK
nano
字符终端文本编辑器
补充说明
nano 是一个字符终端的文本编辑器,有点像DOS下的editor程序。它比vi/vim要简单得多,比较适合Linux初学者使用。某些Linux发行版的默认编辑器就是nano。
nano命令可以打开指定文件进行编辑,默认情况下它会自动断行,即在一行中输入过长的内容时自动拆分成几行,但用这种方式来处理某些文件可能会带来问题,比如Linux系统的配置文件,自动断行就会使本来只能写在一行上的内容折断成多行了,有可能造成系统不灵了。因此,如果你想避免这种情况出现,就加上-w选项吧。
语法
nano [选项] [[+行,列] 文件名]...
选项
-h, -? --help 显示此信息
+行,列 从所指列数与行数开始
-A --smarthome 启用智能 HOME 键
-B --backup 储存既有文件的备份
-C <目录> --backupdir=<目录> 用以储存独一备份文件的目录
-D --boldtext 用粗体替代颜色反转
-E --tabstospaces 将已输入的制表符转换为空白
-F --multibuffer 启用多重文件缓冲区功能
-H --historylog 记录与读取搜索/替换的历史字符串
-I --ignorercfiles 不要参考nanorc 文件
-K --rebindkeypad 修正数字键区按键混淆问题
-L --nonewlines 不要将换行加到文件末端
-N --noconvert 不要从 DOS/Mac 格式转换
-O --morespace 编辑时多使用一行
-Q <字符串> --quotestr=<字符串> 引用代表字符串
-R --restricted 限制模式
-S --smooth 按行滚动而不是半屏
-T <#列数> --tabsize=<#列数> 设定制表符宽度为 #列数
-U --quickblank 状态行快速闪动
-V --version 显示版本资讯并离开
-W --wordbounds 更正确地侦测单字边界
-Y <字符串> --syntax=<字符串> 用于加亮的语法定义
-c --const 持续显示游标位置
-d --rebinddelete 修正退格键/删除键混淆问题
-i --autoindent 自动缩进新行
-k --cut 从游标剪切至行尾
-l --nofollow 不要依照符号连结,而是覆盖
-m --mouse 启用鼠标功能
-o <目录> --operatingdir=<目录> 设定操作目录
-p --preserve 保留XON (^Q) 和XOFF (^S) 按键
-q --quiet 沉默忽略启动问题, 比如rc 文件错误
-r <#列数> --fill=<#列数> 设定折行宽度为 #列数
-s <程序> --speller=<程序> 启用替代的拼写检查程序
-t --tempfile 离开时自动储存,不要提示
-u --undo 允许通用撤销[试验性特性]
-v --view 查看(只读)模式
-w --nowrap 不要自动换行
-x --nohelp 不要显示辅助区
-z --suspend 启用暂停功能
-$ --softwrap 启用软换行
-a, -b, -e,
-f, -g, -j (忽略,为与pico 相容)
用法
光标控制
nc
用于设置路由器,是网络工具中的瑞士军刀。
补充说明
nc命令 全称netcat,用于设置路由器。它能通过 TCP 和 UDP 在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用 netcat 命令所能完成的事情令人惊讶。
语法
nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>]
[-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]
选项
-g <网关> # 设置路由器跃程通信网关,最多可设置8个。
-G<指向器数目> # 设置来源路由指向器,其数值为4的倍数。
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> # 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> # 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> # 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 显示指令执行过程。
-w<超时秒数> # 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。
实例
TCP端口扫描
[root@localhost ~]# nc -v -z -w2 192.168.0.3 1-100
192.168.0.3: inverse host lookup failed: Unknown host
(UNKNOWN) [192.168.0.3] 80 (http) open
(UNKNOWN) [192.168.0.3] 23 (telnet) open
(UNKNOWN) [192.168.0.3] 22 (ssh) open
扫描192.168.0.3 的端口 范围是 1-100 扫描UDP端口
ncftp
是增强的的FTP工具
补充说明
ncftp命令 是增强的的ftp工具,比传统的FTP指令更加强大。FTP让用户得以下载存放于服务器主机的文件,也能将文件上传到远端主机放置。ncftp是文字模式FTP程序的佼佼者,它具备多样特色,包括显示传输速率,下载进度,自动续传,标住书签,可通过防火墙和代理服务器等。
语法
ncftp(选项)(参数)
选项
-u:指定登录FTP服务器时使用的用户名;
-p:指定登录FTP服务器时使用的密码;
-P:如果FTP服务器没有使用默认的TCP协议的21端口,则使用此选项指定FTP服务器的端口号。
-m:在传之前尝试在目录位置创建目录(用于传目录的情况)
-R:递规传子目录
参数
FTP服务器:指定远程FTP服务器的ip地址或主机名。
安装
wget ftp://ftp.ncftp.com/ncftp/ncftp-3.2.3-src.tar.gz
tar zxvf ncftp-3.2.3-src.tar.gz
cd ncftp-3.2.3/
./configure --prefix=/usr/local/ncftp
make && make install
实例
将本地/etc/目录内的所有文件和目录,上传到FTP服务器的flv/games/目录内(如果不存在flv/games/目录则自动创建)。
/usr/local/ncftp/bin/ncftpput -u koumm -p koumm -P 21 -m -R 192.168.162.137 flv/games/ /etc/*
指令说明
ncftp的基本命令和普通ftp一样,可以输入help获得命令列表。对于所有的命令,都可以使用help <命令>的格式获得详细帮助。l开头的就是对本地执行的命令,其它的就是对登入的ftp服务目录的操作命令。
增加的本地文件系统的操作命令:
- lls: 列出本地当前目录文件;
- lmkdir : 本地建立目录;
- lrename: 本地文件改名;
- lpwd: 显示当前本地路 径;
- lchmod: 改变本地文件权限;
- lpage: 显示本地文件内容;
- lrm: 删除本地文件;
- lrmdir: 删除本地目录。
neofetch
显示带有发行徽标的系统信息的工具
补充说明
neofetch 支持Linux/Unix、Windows、macOS。各发行版均已集成包可直接进行安装
Neofetch是一个在终端上显示带有发行徽标的系统信息工具,neofetch命令将显示有关相应系统的简要信息。 显示的信息包括: 型号、操作系统、内核、CPU、GPU、内存、正常运行时间、程序包、shell、分辨率、DE、WM、WM主题、主题、图标和终端等
Neofetch是一个开源工具,项目地址
安装
Debian/Ubuntu
sudo apt install neofetch -y
CentOS
sudo yum install neofetch -y
sudo dnf install neofetch -y
语法
neofetach
返回
回显
macOS:
'c. mac@Mac-mini.local
,xNMM. --------------------------
.OMMMMo OS: macOS 12.4 21F79 arm64
OMMM0, Host: Macmini9,1
.;loddo:' loolloddol;. Kernel: 21.5.0
cKMMMMMMMMMMNWMMMMMMMMMM0: Uptime: 2 hours, 57 mins
.KMMMMMMMMMMMMMMMMMMMMMMMWd. Packages: 20 (brew)
XMMMMMMMMMMMMMMMMMMMMMMMX. Shell: zsh 5.8.1
;MMMMMMMMMMMMMMMMMMMMMMMM: Resolution: 2560x1440, 1920x1080
:MMMMMMMMMMMMMMMMMMMMMMMM: DE: Aqua
.MMMMMMMMMMMMMMMMMMMMMMMMX. WM: Quartz Compositor
kMMMMMMMMMMMMMMMMMMMMMMMMWd. WM Theme: Blue (Dark)
.XMMMMMMMMMMMMMMMMMMMMMMMMMMk Terminal: iTerm2
.XMMMMMMMMMMMMMMMMMMMMMMMMK. Terminal Font: Monaco 12
kMMMMMMMMMMMMMMMMMMMMMMd CPU: Apple M1
;KMMMMMMMWXXWMMMMMMMk. GPU: Apple M1
.cooc,. .,coo:. Memory: 2251MiB / 16384MiB
Ubuntu:
nethogs
终端下的网络流量监控工具
补充说明
有很多适用于Linux系统的开源网络监视工具。比如说,你可以用命令iftop来检查带宽使用情况。netstat用来查看接口统计报告,还有top监控系统当前运行进程。但是如果你想要找一个能够按进程实时统计网络带宽利用率的工具,那么NetHogs值得一看。
NetHogs 是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。
来自NetHogs项目网站:
NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑飞了然后突然占用你的带宽。
本文为你介绍如何在Unix/Linux操作系统下如何安装和使用NetHogs按进程监控网络带宽使用率。
语法
nethogs(选项)(参数)
选项
usage: nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [device [device [device ...]]]
-V : 打印版本。
-h : 打印此帮助。
-b : bughunt模式 - 暗示tracemode。
-d : 延迟更新刷新率(以秒为单位)。 默认值为1。
-v : 视图模式(0 = KB / s,1 =总KB,2 =总B,3 =总MB)。 默认值为0。
-c : 更新次数。 默认为0(无限制)。
-t : tracemode.
-p : 煽动混乱模式(不推荐)。
-s : 按发送列排序输出。
-a : 监控所有设备,甚至环回/停止。
device : 要监控的设备。 默认是所有接口启动和运行,不包括环回
当nethogs运行时,按:
q:退出
s:按SENT流量排序
r:按RECEIVE流量排序
m:在总(KB,B,MB)和KB / s模式之间切换
其他参数和用法
netstat
查看Linux中网络系统状态信息
补充说明
netstat命令 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
语法
netstat(选项)
选项
-a或--all:显示所有连线中的Socket;
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
-c或--continuous:持续列出网络状态;
-C或--cache:显示路由器配置的快取信息;
-e或--extend:显示网络其他相关信息;
-F或--fib:显示FIB;
-g或--groups:显示多重广播功能群组组员名单;
-h或--help:在线帮助;
-i或--interfaces:显示网络界面信息表单;
-l或--listening:显示监控中的服务器的Socket;
-M或--masquerade:显示伪装的网络连线;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;
-o或--timers:显示计时器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-r或--route:显示Routing Table;
-s或--statistice:显示网络工作信息统计表;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-v或--verbose:显示指令执行过程;
-V或--version:显示版本信息;
-w或--raw:显示RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。
实例
列出所有端口 (包括监听和未监听的)
netstat -a #列出所有端口
netstat -at #列出所有tcp端口
netstat -au #列出所有udp端口
列出所有处于监听状态的 Sockets
netstat -l #只显示监听端口
netstat -lt #只列出所有监听 tcp 端口
netstat -lu #只列出所有监听 udp 端口
netstat -lx #只列出所有监听 UNIX 端口
显示每个协议的统计信息
netstat -s 显示所有端口的统计信息
netstat -st 显示TCP端口的统计信息
netstat -su 显示UDP端口的统计信息
```shell
**在netstat输出中显示 PID 和进程名称**
```shell
netstat -pt
netstat -p可以与其它开关一起使用,就可以添加“PID/进程名称”到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。
newusers
用于批处理的方式一次创建多个命令
补充说明
newusers命令 用于批处理的方式一次创建多个命令。
语法
newusers(参数)
参数
用户文件:指定包含用户信息的文本文件,文件的格式要与/etc/passwd相同。
实例
实用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,比如上面的例子。
关于用户名、UID、GID及用户的家目录是怎么回事,您可以读相应的参考文档。
nfsstat
列出NFS客户端和服务器的工作状态
补充说明
nfsstat命令 用于列出NFS客户端和服务器的工作状态。
语法
nfsstat(选项)
选项
-s:仅列出NFS服务器端状态;
-c:仅列出NFS客户端状态;
-n:仅列出NFS状态,默认显示nfs客户端和服务器的状态;
-2:仅列出NFS版本2的状态;
-3:仅列出NFS版本3的状态;
-4:仅列出NFS版本4的状态;
-m:打印以加载的nfs文件系统状态;
-r:仅打印rpc状态。
实例
要显示关于客户机发送和拒绝的RPC和NFS调用数目的信息,输入:
nfsstat -c
要显示和打印与客户机NFS调用相关的信息,输入如下命令:
nfsstat -cn
要显示和打印客户机和服务器的与RPC调用相关的信息,输入如下命令:
nfsstat -r
要显示关于服务器接收和拒绝的RPC和NFS调用数目的信息,输入如下命令:
nfsstat –s
ngrep
方便的数据包匹配和显示工具
补充说明
ngrep命令 是grep命令的网络版,他力求更多的grep特征,用于搜寻指定的数据包。正由于安装ngrep需用到libpcap库, 所以支持大量的操作系统和网络协议。能识别TCP、UDP和ICMP包,理解bpf的过滤机制。
安装
ngrep命令的下载地址:http://ngrep.sourceforge.net/,libpcap下载地址:http://www.tcpdump.org/。先用yum install libpcap完全安装libpcap,注意有时候用libpcap安装包安装的不完整会影响ngrep的使用。
如果yum无法安装就用以下步骤安装libpcap:
wget http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz
tar -zxf libpcap-1.3.0.tar.gz
cd libpcap-1.3.0
./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来验证下安装是否成功。
语法
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>
选项
-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 # 查询网卡接口
实例
捕捉cloudian:18080端口的request和response,-W byline用来解析包中的换行符,否则包里的所有数据都是连续的,可读性差。-d lo是监听本地网卡: