现在有了无线, 不像从前, 一根线连接一台设备. 也因此有了’蹭网’等新事物. 想查一下自己的局域网里都有些什么东东么? 当然, 有很多现成的有GUI的工具可以用, 不过要想露一手(特别是在女生面前), 还是用CLI吧.
192.168.1.1 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 2.54/2.54/2.54 192.168.1.76 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.08/0.08/0.08 192.168.1.100 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 1423/1423/1423 192.168.1.102 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 39.6/39.6/39.6 192.168.1.104 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 2.55/2.55/2.55
上面的结果来自如下的命令组合:
$fping -c1 -g 192.168.1.0/24 2>&1 | grep 'min/avg/max'
fping从名字来看类似ping, 但优势在于可以对不同的IP进行ping操作. -c1 就是计数1次的意思, 对每个目标IP仅ping一次, 这样结果能最快出来. -g 192.168.1.0/24 给出了fping的作用范围, 也就是192.168.1.1 ~ 192.168.1.254.
不常见的2>&1是一个重定向操作. Linux有3个消息通道STDIN, STDOUT, STDERR, 也就是标准输入/输出/错误信息通道. 它们的标号是0, 1, 2. 我不大明白的是fping的输出有一部分是给STDERR的, 这样子就无法给到grep做过滤了. 因此使用 2>&1的作用就是把输出给STDERR的那部分信息重新转给STDOUT.
grep这一部分就简单了, 因为输出结果中只有在线的IP才有min/avg/max信息. 这样通过grep就直接把在线的信息过滤出来了.
如果对其中某个IP感兴趣, 还可以用nmap扫描一下活动端口的信息.
$nmap -PN 192.168.1.11
Starting Nmap 5.21 ( http://nmap.org ) at 2011-09-21 15:43 CST Nmap scan report for 192.168.1.11 Host is up (0.016s latency). Not shown: 996 filtered ports PORT STATE SERVICE 139/tcp open netbios-ssn 445/tcp open microsoft-ds 2869/tcp open unknown 3389/tcp open ms-term-serv
看到3389是不是很熟悉, 哈哈, 大概是在用e-mule吧. 😛
以上参考: <Linux Networking Cookbook>
2 responses to “Linux CLI环境下简单的网络扫描方法”
3389是远程桌面端口,ms-term-serv。
谢谢更正 🙂