Rajneesh Upadhyay 发布的文章

引言

在本教程中,我已经收集了10个给 Linux 用户的有用工具,其中包括各种网络监控,系统审计和一些其它实用的命令,它可以帮助用户提高工作效率。我希望你会喜欢他们。

1. w

显示谁登录了系统并执行了哪些程序。

$ w

不显示头部信息(LCTT译注:原文此处有误)

$ w -h

显示指定用户的信息

$ w <username>

2. nmon

Nmon(nigel’s monitor 的简写)是一个显示系统性能信息的工具。

$ sudo apt-get install nmon

$ nmon

nmon 可以显示与 netwrok,cpu, memory 和磁盘使用情况的信息。

nmon 显示 cpu 信息 (按 c)

nmon 显示 network 信息 (按 n)

nman 显示 disk 信息 (按 d)

3. ncdu

是一个支持光标的du程序,这个命令是用来分析各种目录占用的磁盘空间。

$ apt-get install ncdu

$ ncdu /

最终的输出:

按 n 则通过文件名来排序,按 s 则按文件大小来排序(默认的)。

4. slurm

一个基于网络接口的带宽监控命令行程序,它会用字符来显示文本图形。

$ apt-get install slurm

例如:

$ slurm -i <interface>

$ slurm -i eth1

选项

  • l 显示 lx/tx 指示灯.
  • c 切换到经典模式.
  • r 刷新屏幕.
  • q 退出.

5.findmnt

Findmnt 命令用于查找挂载的文件系统。它用来列出安装设备,当需要时也可以挂载或卸载设备,它是 util-linux 软件包的一部分。

例子:

$ findmnt

以列表格式输出。

$ findmnt -l

列出在 fstab 中挂载的文件系统。

$ findmnt -s

按文件类型列出已挂载的文件系统。

$ findmnt -t ext4

6. dstat

一种灵活的组合工具,它可用于监控内存,进程,网络和磁盘性能,它可以用来取代 ifstat, iostat, dmstat 等。

$ apt-get install dstat

例如:

查看有关 cpu,硬盘和网络的详细信息。

$ dstat

-c cpu

$ dstat -c

-d 磁盘

$ dstat -d

显示 cpu、磁盘等的详细信息。

$ dstat -cdl -D sda1

7. saidar

另一种基于命令行的系统统计数据监控工具,提供了有关磁盘使用,网络,内存,交换分区等信息。

$ sudo apt-get install saidar

例如:

$ saidar

启用彩色输出

$ saider -c

8. ss

ss(socket statistics)是一个很好的替代 netstat 的选择,它从内核空间收集信息,比 netstat 的性能更好。

例如:

列出所有的连接

$ ss |less

列出 tcp 流量

$ ss -A tcp

列出进程名和 pid

$ ss -ltp

9. ccze

一个美化日志显示的工具 :).

$ apt-get install ccze

例如:

$ tailf /var/log/syslog | ccze

列出 ccze 模块:

$ ccze -l

将日志保存为 html 文件。

tailf /var/log/syslog | ccze -h > /home/tux/Desktop/rajneesh.html

10. ranwhen.py

一种基于 Python 的终端工具,它可以用来以图形方式显示系统活动状态。详细信息以一个丰富多彩的柱状图来展示。

安装 python(LCTT 译注:一般来说,你应该已经有了 python,不需要此步):

$ sudo apt-add-repository ppa:fkrull/deadsnakes

更新系统:

$ sudo apt-get update

下载 python:

$ sudo apt-get install python3.2

点此下载 ranwhen.py

$ unzip ranwhen-master.zip && cd ranwhen-master

运行工具。

$ python3.2 ranwhen.py

结论

这都是些不常见但重要的 Linux 管理工具。他们可以在日常生活中帮助用户。在我们即将发表的文章中,我们会尽量多带来些管理员/用户工具。

玩得愉快!


via: http://www.unixmen.com/10-useful-utilities-linux-users/

作者:Rajneesh Upadhyay 译者:strugglingyouth 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

简介

Justniffer 是一个可用于替代 Snort 的网络协议分析器。它非常流行,可交互式地跟踪/探测一个网络连接。它能从实时环境中抓取流量,支持 “lipcap” 和 “tcpdump” 文件格式。它可以帮助用户分析一个用 wireshark 难以抓包的复杂网络。尤其是它可以有效的帮助你分析应用层流量,能提取类似图像、脚本、HTML 等 http 内容。Justniffer 有助于理解不同组件之间是如何通信的。

功能

Justniffer 可以收集一个复杂网络的所有流量而不影响系统性能,这是 Justniffer 的一个优势,它还可以保存日志用于之后的分析,Justniffer 其它一些重要功能包括:

  1. 可靠的 TCP 流重建

它可以使用主机 Linux 内核的一部分用于记录并重现 TCP 片段和 IP 片段。

  1. 日志

保存日志用于之后的分析,并能自定义保存内容和时间。

  1. 可扩展

可以通过外部的 python、 perl 和 bash 脚本扩展来从分析报告中获取一些额外的结果。

  1. 性能管理

基于连接时间、关闭时间、响应时间或请求时间等提取信息。

安装

Justniffer 可以通过 PPA 安装:

运行下面命令添加库:

$ sudo add-apt-repository ppa:oreste-notelli/ppa

更新系统:

$ sudo apt-get update

安装 Justniffer 工具:

$ sudo apt-get install justniffer

make 的时候失败了,然后我运行下面的命令并尝试重新安装服务

$ sudo apt-get -f install

示例

首先用 -v 选项验证安装的 Justniffer 版本,你需要用超级用户权限来使用这个工具。

$ sudo justniffer -V

示例输出:

j

1、 以类似 apache 的格式导出 eth1 接口流量,显示到终端

$ sudo  justniffer -i eth1

示例输出:

Selection_001

2、 可以用下面的选项跟踪正在运行的 tcp 流

$ sudo  justniffer -i eth1 -r

示例输出:

Selection_002

3、 获取 web 服务器的响应时长

$ sudo justniffer -i eth1 -a " %response.time"

示例输出:

Selection_003

4、 使用 Justniffer 读取一个 tcpdump 抓取的文件

首先,用 tcpdump 抓取流量。

$ sudo tcpdump -w /tmp/file.cap -s0 -i eth0

然后用 Justniffer 访问数据

$ justniffer -f file.cap

示例输出:

Selection_005

5、 只抓取 http 数据

$ sudo justniffer -i eth1 -r -p "port 80 or port 8080"

示例输出:

Selection_006

6、 获取一个指定主机的 http 数据

$ justniffer -i eth1 -r -p "host 192.168.1.250 and tcp port 80"

示例输出:

Selection_007

7、 以更精确的格式抓取数据

当你输入 justniffer -h 的时候你可以看到很多用于以更精确的方式获取数据的格式关键字

$ justniffer -h

示例输出:

Selection_008

让我们用 Justniffer 根据预先定义的参数提取数据

$ justniffer -i eth1 -l "%request.timestamp %request.header.host %request.url %response.time"

示例输出:

Selection_009

其中还有很多你可以探索的选项。

总结

Justniffer 是一个很好的用于网络测试的工具。在我看来对于那些用 Snort 来进行网络探测的用户来说,Justniffer 是一个更简单的工具。它提供了很多 格式关键字 用于按照你的需要精确地提取数据。你可以用 .cap 文件格式记录网络信息,之后用于分析监视网络服务性能。

参考资料:


via: http://www.unixmen.com/install-justniffer-ubuntu-15-04/

作者:Rajneesh Upadhyay 译者:ictlyh 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出

在终端工作是一件很有趣的事情。今天,我们将会列举一些有趣得为你带来欢笑的Linux命令。

1. rev

创建一个文件,在文件里面输入几个单词,rev命令会将你写的东西反转输出到控制台。

# rev  <file name>

Selection_002

Selection_001

2. fortune

这个命令没有被默认安装,用apt-get命令安装它,fortune命令会随机显示一些句子

crank@crank-System:~$ sudo apt-get install fortune

Selection_003

利用fortune命令的 -s 选项,他会限制一个句子的输出长度。

# fortune -s

Selection_004

3. yes

# yes <string>

这个命令会不停打印字符串,直到用户把这进程给结束掉。

# yes unixmen

Selection_005

4. figlet

这个命令可以用apt-get安装,安装之后,在/usr/share/figlet可以看到一些ascii字体文件。

cd /usr/share/figlet

#figlet -f <font>  <string>
#figlet -f big.flf unixmen

Selection_006

#figlet -f block.flf  unixmen

Selection_007

当然,你也可以尝试使用其他的选项。

5. asciiquarium

这个命令会将你的终端变成一个海洋馆。

下载term animator:

# wget http://search.cpan.org/CPAN/authors/id/K/KB/KBAUCOM/Term-Animation-2.4.tar.gz

安装并且配置这个包:

# tar -zxvf Term-Animation-2.4.tar.gz
# cd Term-Animation-2.4/
# perl Makefile.PL && make && make test
# sudo make install

接着安装下面这个包:

# apt-get install libcurses-perl

下载并且安装asciiquarium:

# wget http://www.robobunny.com/projects/asciiquarium/asciiquarium.tar.gz
# tar -zxvf asciiquarium.tar.gz 
# cd asciiquarium_1.0/
# cp asciiquarium /usr/local/bin/

执行如下命令:

# /usr/local/bin/asciiquarium

asciiquarium_1.1 : perl_008

6. bb

# apt-get install bb
# bb

看看会输出什么?

Selection_009

7. sl

有的时候你可能把 ls 误打成了 sl,其实 sl 也是一个命令,如果你打 sl的话,你会看到一个移动的火车头

# apt-get install sl

# sl

Selection_012

8. cowsay

一个很常见的命令,它会用ascii显示你想说的话。

apt-get install cowsay

# cowsay <string>

Selection_013

或者,你可以用其他的角色来取代默认角色来说这句话,这些角色都存储在/usr/share/cowsay/cows目录下

# cd /usr/share/cowsay/cows

cowsay -f ghostbusters.cow  unixmen

Selection_014

或者

# cowsay -f bud-frogs.cow Rajneesh

Selection_015

9. toilet

你没看错,这是个命令来的,他会将字符串以彩色的ascii字符串形式输出到终端

# apt-get install toilet

# toilet --gay unixmen

Selection_016

toilet -F border -F gay unixmen

Selection_020

toilet  -f mono12 -F metal  unixmen

Selection_018

10. aafire

aafire能让你的终端燃起来。

# apt-get install libaa-bin

# aafire

Selection_019

就这么多,祝你们在Linux终端玩得开心哈!!!


via: http://www.unixmen.com/list-10-funny-linux-commands/

作者:Rajneesh Upadhyay 译者:tnuoccalanosrep 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

介绍

在本教程中,我们会在CentOS / RHEL 7中讨论 网络管理命令行工具 NetworkManager command line tool ,也叫nmcli。那些使用ifconfig的用户应该在CentOS 7中避免使用ifconfig 了。

让我们用nmcli工具配置一些网络设置。

要得到系统中所有接口的地址信息

[root@localhost ~]# ip addr show

示例输出:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 00:0c:29:67:2f:4c brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.51/24 brd 192.168.1.255 scope global eno16777736
 valid_lft forever preferred_lft forever
 inet6 fe80::20c:29ff:fe67:2f4c/64 scope link 
 valid_lft forever preferred_lft forever

检索与已连接的接口相关的数据包统计

[root@localhost ~]# ip -s link show eno16777736

示例输出:

得到路由配置

[root@localhost ~]# ip route

示例输出:

default via 192.168.1.1 dev eno16777736 proto static metric 100 
192.168.1.0/24 dev eno16777736 proto kernel scope link src 192.168.1.51 metric 100

分析主机/网站路径

[root@localhost ~]# tracepath unixmen.com

输出像traceroute,但是更加完整。

nmcli 工具

nmcli 是一个非常丰富和灵活的命令行工具。nmcli使用的情况有:

  • 设备 – 正在使用的网络接口
  • 连接 – 一组配置设置,对于一个单一的设备可以有多个连接,可以在连接之间切换。

找出有多少连接服务于多少设备

[root@localhost ~]# nmcli connection show

得到特定连接的详情

[root@localhost ~]# nmcli connection show eno1

示例输出:

得到网络设备状态

[root@localhost ~]# nmcli device status

 DEVICE               TYPE              STATE          CONNECTION 
eno16777736            ethernet      connected              eno1 
lo                     loopback      unmanaged               --

使用“dhcp”创建新的连接

[root@localhost ~]# nmcli connection add con-name "dhcp" type ethernet ifname eno16777736

这里,

  • connection add – 添加新的连接
  • con-name – 连接名
  • type – 设备类型
  • ifname – 接口名

这个命令会使用dhcp协议添加连接

示例输出:

Connection 'dhcp' (163a6822-cd50-4d23-bb42-8b774aeab9cb) successfully added.

不通过dhcp分配IP,使用“static”添加地址

[root@localhost ~]# nmcli connection add con-name "static" ifname eno16777736 autoconnect no type ethernet ip4 192.168.1.240 gw4 192.168.1.1

示例输出:

Connection 'static' (8e69d847-03d7-47c7-8623-bb112f5cc842) successfully added.

更新连接:

[root@localhost ~]# nmcli connection up eno1

再检查一遍,ip地址是否已经改变

[root@localhost ~]# ip addr show

添加DNS设置到静态连接中

[root@localhost ~]# nmcli connection modify "static" ipv4.dns 202.131.124.4

添加更多的DNS

[root@localhost ~]# nmcli connection modify "static" +ipv4.dns 8.8.8.8

注意:要使用额外的+符号,并且要是+ipv4.dns,而不是ip4.dns

添加一个额外的ip地址

[root@localhost ~]# nmcli connection modify "static" +ipv4.addresses 192.168.200.1/24

使用命令刷新设置:

[root@localhost ~]# nmcli connection up eno1

你会看见,设置生效了。

完结。


via: http://www.unixmen.com/basics-networkmanager-command-line-tool-nmcli/

作者:Rajneesh Upadhyay 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出