iftop: Linux 下的流量监控工具

iftop 是 Linux 下的流量监控工具,可以用来观察实时的网络连接和网络流量情况。网上有很多介绍使用的相关文章,但是我发现很难找到原文,有些文章对它的使用的解释很生硬。所以,我今天将自己理解的用法整理出来,分享给需要的同学。如有不对之处,还请各位不吝指出。

显示结果

在命令行中执行之后,会显示抓取的网络连接列表,以及对应的网络流量统计。每个连接显示结果类似:

foo.example.com  =>  bar.example.com      1Kb  500b   100b
                 <=                       2Mb  2Mb    2Mb 

两行分别表示不同的数据传输方向,对于第一行而言,第一列是源地址,第二列是目的地址,最后三列分别是最近 2 秒、10 秒、40 秒发送的平均网络流量。默认情况下,是按十秒内的平均网络流量排序的。

底部会显示一些全局的统计数据,peek 是指峰值情况,cumm 是从运行至今的累计情况,而 rates 表示最近 2 秒、10 秒、40 秒内总共接收或者发送的平均网络流量。

TX:  cumm:   143MB   peak:   10.5Mb    rates:   1.03Mb  1.54Mb  2.10Mb
RX:          12.7GB          228Mb              189Mb   191Mb   183Mb
TOTAL:       12.9GB          229Mb              190Mb   193Mb   185MbW

查看全文

Alfred workflow: 查询 IP 地址信息

今天给大家分享的 Alfred workflow,是用来查询 IP 地址信息,数据来源为淘宝 IP 地址库

淘宝 IP 地址库开放了查询 IP 的 API 接口,我们可以根据用户提供的 IP 地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家、省、市和运营商。根据官方的介绍,地址库中覆盖的 IP 地址数量以及准确度都很不错。

用法

在此之前,确认你的 Alfred 2 已经激活了 PowerPack 扩展功能。

然后从地址下载 Lookup IP Workflow,双击安装。

在 Alfred 框中输入关键字 lip, 参数可选,例如:

lip  # 查询本机的 IP 地址
lip 199.91.73.222 178.79.131.110  # 查询指定的多个 IP 地址
lip 199.91.73.222,178.79.131.110  # 查询指定的多个 IP 地址
lip 199.91.73.222178.79.131.110  # 查询指定的多个 IP 地址

从上可以看出,对参数格式的要并不高,只要参数中包含至少一个合法的 IP 地址即可。

示例

查询 IP: 42.120.194.11(taobao.com),42.120.158.67(aliyun.com)

alfred-lookup-ip

Alfred workflow: 快速切换 DNS 服务器设置

这是一个 Alfred Workflow,它的作用是通过 Alfred 来快速切换 DNS 服务器设置,默认支持几组常见的热门公共 DNS 服务器。

用法

在此之前,确认你的 Alfred 2 已经激活了 PowerPack 扩展功能。

然后从地址下载 Switch DNS Workflow,双击安装。

打开 Alfred 后,在文本框中输入 "sdns",从下拉列表中选取需要的 DNS 后,回车即可。

预设的 DNS 配置包括:

  • Default DNS: empty
  • Alibaba Public DNS::223.5.5.5 223.6.6.6
  • V2EX Public DNS: 199.91.73.222 178.79.131.110
  • 114 Public DNS: 114.114.114.114 114.114.115.115
  • Google Public DNS: 8.8.8.8 8.8.4.4
  • OpenerDNS: 42.120.21.30

示例

切换到 Alibaba Public DNS:

结果:

alfred-switchdns-result

更新日志

  • 2014.8.2 支持自定义配置 dns 列表

2013++

每到年末总是要感慨,光阴荏苒,日月如梭,时间过得真他妈快。再过几分钟,2013 就会成为一个过去式,迎接我们的就是崭新的一年。在这一年的尾巴里,就在刚刚的几分钟里,我还在用我的 iPhone 狂加了几十个来往好友。不扯闲话,回到正题,在这年末我也自己总结下一年的成果。

我的博客

到今天为止,我的博客文章数目刚好100篇,其中今年一共写了41篇。这些都是我自己的原创文章,不过遗憾地是,很多文章被一些人转载但是并没有标注版权和出处。

我个人比较推荐的文章有以下几篇:

查看全文

Bash One-Liners Explained 译文(五)

这是 Bash One-Liners Explained 系列的第五篇文章。在这一部分,我会教你如何快速在 Bash 命令行中使用 Emacs 风格的键盘导航快捷键。

0. 行编辑模式介绍

Bash 使用 GNU readline 库来提供行编辑特性。readline 库同时支持 Emacs 风格和 Vi 风格的快捷键绑定,也支持用户去做自定义绑定。默认情况下,readline 会使用 Emacs 风格的键绑定,不过你可以很方便的切换到 Vi 风格,或者自定义设置。

执行set -o emacs命令切换到 Emacs 风格,set -o vi则会切换到 Vi 风格。

除此之外,你仍可以通过~/.inputrc或者bind命令来自定义快捷键绑定。例如,bind '"\C-f": "ls\n"'CTRL+F绑定为执行ls命令。你可以通过查阅 Bash 手册中的 readline 一节来更多地了解 readline 的快捷键绑定语法。

1. 移动光标到行首

CTRL + a

2. 移动光标到行尾

CTRL + e

3. 光标往后(向左)移动一个单词

ESC + b 或者 ALT + b

4. 光标往前(向右)移动一个单词

ESC + f 或者 ALT + f

5. 删除上一个单词

CTRL + w

查看全文

Bash One-Liners Explained 译文(四)

这是 Bash One-Liners Explained 系列的第四篇文章。在这一篇里,我会给大家介绍 Bash 命令行历史功相关的内容。我会选择用最合适的 Bash 方法,各种常见的语法和技巧,向各位阐明如何用 Bash 内置的命令和 Bash 编程语言来完成各式各样的任务。

1. 清除命令行历史

$ rm ~/.bash_history

Bash 将历史执行的命令都保存在文件.bash_history中,该文件位于你的家目录下。为了清除命令行历史,只要把这个文件删除即可。

注意,当你执行完退出后,最后一个rm ~/.bash_history命令依然会被记录下来。如果你想隐藏清除的操作命令,请看下一条。

2. 当前会话下停止记录命令行历史

$ unset HISTFILE

环境变量HISTFILE指向命令行执行历史保存的目标文件路径,如果你重置了该变量,Bash 就不会保存历史。

另外一种方法是将它指向/dev/null

$ HISTFILE=/dev/null

3. 不要记录当前执行的命令

很简单,只要在命令之前加空格就行:

$  command

注意,以上正常工作的前提是,HISTIGNORE变量被正确的设置,它的值是冒号分隔的匹配表达式列表,如果一个命令匹配其中的任意一个表达式则不会被保存到记录中。

查看全文

Bash One-Liners Explained 译文(三)

最近工作,生活中有一堆事情要处理,博客好久没更新了,请见谅。

拖了好久才翻译好这篇文章,这篇翻译下来好累,主要是原文废话太多了,后来还是决定尽量省略部分内容,建议有时间的还是去看下原文。这一篇太长了,先翻译部分,我会继续不断的更新。

这是 Bash One-Liners Explained 系列的第三篇文章。在这一篇里,我会给大家介绍重定向相关的内容。我会选择用最合适的 Bash 方法,各种常见的语法和技巧,向各位阐明如何用 Bash 内置的命令和 Bash 编程语言来完成各式各样的任务。

重定向其实是通过操作文件描述符来完成的,这样会更容易理解。当 Bash 启动时,会自动创建三个标准的文件描述符,它们分别是 stdin(标准输入,文件描述符为0),stdout(标准输出,文件描述符为1)和 stderr(标准错误输出,文件描述符为2)。你也可以创建更多的文件描述符,例如3,4,5等等,或者关闭它们,又或者拷贝它们。你可以从对应的文件中读取或者写入内容。

文件描述符指向某个文件(除非它们被关闭)。通常情况下,Bash 启动的三个文件描述符 —— stdin,stdout 和 stderr 都是指向你的终端,从终端输入中读取内容,并且把标准输出和标准错误都送到终端上。

查看全文

我的 VIM 配置

昨天给博客新建了一个我的装备分类,主要是想在这个类目下,分享一些我自己在用并且觉得值得推荐的软件(APP)或者硬件外设等等。相比之下,最值得推荐的应该是 Vim,一个古老而又强大的编辑器软件。

我从大二开始接触 Linux 就开始使用 Vim,至今也差不多有六、七年了。不过只有在最开始的一段时间,疯狂地在网上找自定义配置、找插件,之后就几乎没折腾过了。我的入门教程是大家來學 Vim 一個歷久彌新的編輯器A Byte of Vim。啃了这两份手册之后,基本上也就没继续再深入了解了。掌握了一些日常使用的技巧与方法,足以应付大量的编程任务了。我在入手 Macbook Air 之后,曾经尝试过 Sublime Text,也是一个很值得推荐的编辑器,无奈实在是精力有限,没去折腾,长草后就卸载了。我现在在 Mac 下面一直使用 MacVim

我目前的 Vim 工作环境截图:

my-vim

查看全文

1 2 3 4 14