然后你可以执行这支程序,分别在
$1
的位置输入
hello,
没有输入与随意输入,
就可以看到不同的
输出啰~是否还觉得挺简单的啊!
^_^
。事实上,
学到这里,也真的很厉害了~好了,底下我们继
续来玩一些比½大一点的计划啰~
我们在第十章已经学会了
grep
这个好用的玩意儿,那么多学一个½做
netstat
的指令,这个指令可以
查询到目前主机有开启的网络服务端口口
(service ports)
,
相关的功能我们会在
服务器架设篇
继续½
绍,这里你只要知道,我可以利用『
netstat -tuln
』来取得目前主机有启动的服务,
而且取得的信息
有点像这样:
[dmtsai@study ~]$
netstat
-
tuln
Active Internet connections (only servers)
Proto Recv
-
Q Send
-
Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* L
ISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:25 :::* LISTEN
udp 0 0
0.0.0.0:123 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp 0 0 0.0.0.0:44326 0.0.0.0:*
udp 0 0 127.0.0.1:323 0.0.0.0:*
udp6 0 0 :::123 :::*
udp6
0 0 ::1:323 :::*
#
封包格式
本地
IP:
埠口
远
程
IP:
埠口
是否
监
听
上面的重点是『
Local Address (
本地主机的
IP
与端口口对应
)
』那个字段,他代表的是本机所启动的
网络服务!
IP
的部分说明的是该服务位于那个½口上,若为
127.0.0.1
则是½针对本机开放,若是
0.0.0.0
或
:::
则代表对整个
Internet
开放
(
更多信息请参考服务器架设篇的½绍
)
。
每个埠口
(port)
都有其特定的网络服务,几个常见的
port
与相关网络服务的关系是:
.
80: WWW
.
22: ssh
.
21: ftp
.
25: mail
.
111: RPC(
远程过程调用
)
.
631: CUPS(
打印服务功能
)
假设我的主机有兴趣要侦测的是比½常见的
port 21, 22, 25
及
80
时,那我如何透过
netstat
去侦测
我的主机是否有开启这四个主要的网络服务端口口呢?由于每个服务的关键词都是½在冒号『
:
』
后面,
所以可以½由撷取类似『
:80
』来侦测的!那我就可以简单的这样去写这个程序喔:
[dmtsai@study bin]$
vim netstat.sh
#!/bin/bash
# Program:
#
Using netstat and grep to detect WWW,SSH,FTP and Mail services.