外部过滤器,程序和命令--通讯命令

信息与统计

host

  通过名字或IP地址来搜索一个互联网主机的信息,使用DNS.

  -a:显示详细的DNS信息;
  -c<类型>:指定查询类型,默认值为“IN“;
  -C:查询指定主机的完整的SOA记录;
  -r:在查询域名时,不使用递归的查询方式;
  -t<类型>:指定查询的域名信息类型;
  -v:显示指令执行的详细信息;
  -w:如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答;
  -W<时间>:指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令;
  -4:使用IPv4;
  -6:使用IPv6.

bash$ host www.ahut.edu.cn
www.ahut.edu.cn has address 211.70.144.51
www.ahut.edu.cn has address 210.45.60.52

ipcalc

  显示一个主机IP信息. 使用-h选项,ipcalc将会做一个DNS的反向查询,通过IP地址找到主机(服务器)名.

  -b:由给定的IP地址和网络掩码计算出广播地址;
  -h:显示给定UP地址所对应的主机名;
  -m:由给定的IP地址计算器网络掩码;
  -p:显示给定的掩码或IP地址的前缀;
  -n:由给定的IP地址和网络掩码计算网络地址;
  -s:安静模式;
  –help:显示帮助信息。

bash$ ipcalc -h 202.92.42.236
HOSTNAME=surfacemail.com

nslookup

  通过IP地址在一个主机上做一个互联网的”名字服务查询”. 与ipcalc -h或dig -x等价. 这个命令既可以交互运行也可以非交互运行, 换句话说, 就是在脚本中运行.

bash$ nslookup
>www.baidu.com
Server:     127.0.1.1
Address:    127.0.1.1#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 183.232.231.173
Name:   www.a.shifen.com
Address: 183.232.231.172
>set all
Default server: 127.0.1.1
Address: 127.0.1.1#53

Set options:
  novc          nodebug     nod2
  search        recurse
  timeout = 0       retry = 3   port = 53   ndots = 1
  querytype = A         class = IN
  srchlist = 
>exit

dig

  Domain Information Groper(域信息查询). 与nslookup很相似, dig也可以在一个主机上做互联网的”名字服务查询”. 这个命令既可以交互运行也可以非交互运行, 换句话说, 就是在脚本中运行.

dig [@server] [-b address] [-c class] [-f filename] [-k filename] [ -n ][-p port#] [-t type] [-x addr] [-y name:key] [name] [type] [class] [queryopt...]

dig [-h]

dig [global-queryopt...] [query...]


-b address设置所要询问地址的源 IP 地址. 这必须是主机网络接口上的某一合法的地址.
-f filename使 dig 在批处理模式下运行,通过从文件 filename 读取一系列搜索请求加以处理. 文件包含许多查询;每行一个. 文件中的每一项都应该以和使用命令行接口对 dig 的查询相同的方法来组织.
-h当使用选项 -h 时,显示一个简短的命令行参数和选项摘要.
-k filename要签署由 dig 发送的 DNS 查询以及对它们使用事务签名(TSIG)的响应,用 选项 -k 指定 TSIG 密钥文件.
-n缺省情况下,使用 IP6.ARPA 域和 RFC2874 定义的二进制标号搜索 IPv6 地址. 为了使用更早的、 使用 IP6.INT 域和 nibble 标签的 RFC1886 方法,指定 选项 -n(nibble).
-p port#如果需要查询一个非标准的端口号,则使用选项 -p. port# 是 dig 将发送其查询的端口号,而不是标准的 DNS 端口号 53. 该选项可用于测试已在非标准端口号上配置成侦听查询的域名服务器.
-t type设置查询类型为 type. 可以是 BIND9 支持的任意有效查询类型. 缺省查询类型是 A,除非提供 -x 选项来指示一个逆向查询.通过指定 AXFR 的 type 可以请求一个区域传输. 当需要增量区域传输(IXFR)时,type 设置为 ixfr=N. 增量区域传输将包含自从区域的 SOA 记录中的序列号改为 N 之后对区域所做的更改.
-x addr逆向查询(将地址映射到名称)可以通过 -x 选项加以简化. addr 是一个 以小数点为界的 IPv4 地址或冒号为界的 IPv6 地址. 当使用这个选项时,无需提供 name、class 和 type 参数. dig 自动运行类似11.12.13.10.in-addr.arpa 的域名查询,并分别设置查询类型和类为 PTR 和 IN.
-y name:key您可以通过命令行上的 -y 选项指定 TSIG 密钥;name 是 TSIG 密码的名称,key 是实际的密码. 密码是 64 位加密字符串,通常由 dnssec-keygen 生成. 当在多用户系统上使用选项 -y 时应该谨慎,因为密码在 ps 的输出或 shell 的历史文件中可能是可见的. 当同时使用 dig 和 TSCG 认证时,被查询的名称服务器需要知道密码和解码规则. 在 BIND 中,通过提供正确的密码和 named.conf 中的服务器声明实现.


bash$ dig -x 183.232.231.173

; <<>> DiG 9.10.3-P4-Ubuntu <<>> -x 183.232.231.173
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 32990
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;173.231.232.183.in-addr.arpa.  IN  PTR

;; Query time: 16 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sun Aug 20 18:54:18 CST 2017
;; MSG SIZE  rcvd: 57

traceroute

  跟踪包发送到远端主机过程中的路由信息. 这个命令在LAN, WAN, 或者在Internet上都可以正常工作. 远端主机可以通过IP地址来指定. 这个命令的输出也可以通过管道中的grep或sed命令来过滤.

bash$ traceroute 183.232.231.173
 1  192.168.1.1 (192.168.1.1)  2.133 ms  2.140 ms  2.121 ms
 2  112.27.43.1 (112.27.43.1)  94.513 ms  94.474 ms  94.487 ms
 3  111.39.195.29 (111.39.195.29)  10.774 ms 221.130.147.17 (221.130.147.17)  10.802 ms 221.130.147.21 (221.130.147.21)  10.743 ms
...

ping

  广播一个”ICMP ECHO_REQUEST”包到其他主机上, 既可以是本地网络也可以是远端网络. 这是一个测试网络连接的诊断工具, 应该小心使用.

  如果ping成功之后,那么返回的退出状态码为0. 可以用在脚本的测试语句中.

bash$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.032 ms
...
--- localhost ping statistics ---
28 packets transmitted, 28 received, 0% packet loss, time 26998ms
rtt min/avg/max/mdev = 0.026/0.043/0.216/0.037 ms

whois

  执行DNS(域名系统)查询. -h选项允许指定需要查询的特定whois服务器.


finger

  取得网络上的用户信息. 另外这个命令可以显示一个用户的 ~/.plan ,和 ~/.forward 文件, 当然, 前提是如果这些文件存在的话.

bash$ finger
Login     Name       Tty      Idle  Login Time   Office     Office Phone
liudezhi  Liudezhi   tty7     1:17  Aug 20 20:54 (:0)

bash$ finger liudezhi
Login: liudezhi                 Name: Liudezhi
Directory: /home/liudezhi               Shell: /bin/bash
On since Sun Aug 20 20:54 (CST) on tty7 from :0
   1 hour 18 minutes idle
New mail received Fri Aug 18 22:00 2017 (CST)
     Unread since Fri Aug 18 21:49 2017 (CST)
No Plan.

  处于安全上的考虑,许多网络都禁用来finger,以及和它相关的幽灵进程.


chfn

  修改finger命令所显示出来的用户信息.


vrfy

  验证一个互联网的e-mail地址.


远端主机接入

sx, rx

  sx和rx命令使用xmodem协议, 置服务来向远端主机传输文件和接收文件. 这些都是通讯安装包的一般部分, 比如minicom.


sz, rz

  sz和rz命令使用zmodem协议, 设置服务来向远端主机传输文件和接收文件. Zmodem协议在某些方面比xmodem协议强, 比如使用更快的传输波特率, 并且可以对中断的文件进行续传. 与sx和rx一样, 这些都是通讯安装包的一般部分.


ftp

  向远端服务器上传或下载的工具, 也是一种协议. 一个ftp会话可以写到脚本中自动运行.


uucp, uux, cu

  uucp: UNIX到UNIX拷贝. 这是一个通讯安装包, 目的是为了在UNIX服务器之间传输文件. 使用shell脚本来处理uucp命令序列是一种有效的方法.

  * 因为互联网和电子邮件的出现, uucp现在看起来已经很落伍了, 但是这个命令在互联网连接不可用或者不适合使用的地方, 这个命令还是可以完美的运行. uucp的优点就是它的容错性, 即使有一个服务将拷贝操作中断了, 那么当连接恢复的时候, 这个命令还是可以在中断的地方续传.

  uux: UNIX到UNIX执行. 在远端系统上执行一个命令. 这个命令是uucp包的一部分.

  cu: Call Up 一个远端系统并且作为一个简单终端进行连接. 这是一个telnet的缩减版本. 这个命令是uucp包的一部分.


telnet

  连接远端主机的工具和协议.
  ! telnet协议本身包含安全漏洞,因此应适当避免使用.


wget

  wget工具使用非交互的形式从web或ftp站点上取得或下载文件. 在脚本中使用正好.

  -a<日志文件>:在指定的日志文件中记录资料的执行过程;
   -A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔;
  -b:进行后台的方式运行wget;
  -B<连接地址>:设置参考的连接地址的基地地址;
  -c:继续执行上次终端的任务;
  -C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on;
  -d:调试模式运行指令;
  -D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔;
  -e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令;
  -h:显示指令帮助信息;
  -i<文件>:从指定文件获取要下载的URL地址;
  -l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔;
  -L:仅顺着关联的连接;
  -r:递归下载方式;
  -nc:文件存在时,下载文件不覆盖原有文件;
  -nv:下载时只显示更新和出错信息,不显示指令的详细执行过程;
  -q:不显示指令执行过程;
  -nh:不查询主机名称;
  -v:显示详细执行过程;
  -V:显示版本信息;
  –passive-ftp:使用被动模式PASV连接FTP服务器;
  –follow-ftp:从HTML文件中下载FTP连接文件。

wegt -p http://www.xyz23.com/file01.html
# -p或--page-requisite选项将会使得wget取得所有显示指定页时所需要的文件.

wget -r ftp://ftpxyz24.net/~bozo/project_file/ -O $SAVEFILE
# -r 选项将会递归的从指定站点上下载所有链接.

lynx

  lynx是一个网页浏览器, 也是一个文件浏览器. 它可以(通过使用 -dump 选项)在脚本中使用. 它的作用是可以非交互的从Web或ftp站点上获得文件.

选项:
  -case:在搜索字符串时,区分大小写;
  -ftp:关闭ftp功能;
  -nobrowse:关闭目录浏览功能;
  -noclor:关闭色彩显示模式;
  -reload:更新代理服务器的缓存,只对首页有效;
  –color:如果系统支持彩色模式,则激活彩色模式;
  –help:显示指令的帮助信息;
  –versiom:显示指令的版本信息.

参数
  URL:指定要访问的网站的URL地址.

lynx -dump http://www.xyz23.com/file01.html >$SAVEFILE

  使用-traversal选项,lynx将会从参数中指定的HTTP URL开始,”遍历”指定服务器上的所有连接.如果与 -crawl 选项一起用的话, 将会把每个输出的页面文本都放到一个log文件中.


rlogin

  远端登陆 ,在远端的主机上开启一个会话. 这个命令存在安全隐患, 所以要使用ssh来代替.


rsh

  远端shell ,在远端的主机上执行命令. 这个命令存在安全隐患, 所以要使用ssh来代替.


rcp

  远端拷贝 , 在网络上的不同主机间拷贝文件.


rsync

  远端同步 , 在网络上的不同主机间(同步)更新文件.

bash$ rsync -a ~/sourcedir/*.txt /nodel/subdirectory

  * 在使用rcp, rsync, 还有另外一些有安全问题的类似工具的时候, 一定要小心, 因为将这些工具用在shell脚本中是不明智的. 你应该考虑使用ssh, scp, 或者expect脚本来代替这些不安全的工具.


ssh

  安全shell , 登陆远端主机并在其上运行命令. 这个工具具有身份认证和加密的功能, 可以安全的替换telnet, rlogin, rcp, 和rsh等工具. 请参考这个工具的man页 来获取详细信息.

  ! 在循环中, ssh可能会引起一些异常问题. 根据comp.unix上的shell文档
Usenet post所描述的内容, ssh继承了循环的stdin . 为了解决这个问题,请使用ssh的 -n 或者 -f 选项.


scp

  安全拷贝 , 在功能上与rcp很相似, 就是在两个不同的网络主机之间拷贝文件, 但是要使用鉴权的方式, 并且要使用与ssh类似的安全层.


本地网络

write

  这是一个端到端通讯的工具. 这个工具可以从你的终端上(console或者xterm )发送整行数据到另一个用户的终端上. mesg命令当然也可以用来禁用对于一个终端的写权限.

  因为write命令是需要交互的,所以这个命令在脚本中很少使用.


netconfig

  用来配置网络适配器(使用DHCP)的命令行工具. 这个命令对于红帽发行版来说是内置的.


Mail

mail

  发送或者读取e-mail消息.

  如果把这个命令行的mail客户端当成一个脚本中的命令来使用的话, 效果非常好.


mailto

  与mail命令很相似, mailto可以使用命令行或在脚本中发送e-mail消息. 而且mailto也可以发送MIME(多媒体)消息.


vacation

  这个工具可以自动回复e-mail给发送者, 表示邮件的接受者正在度假暂时无法收到邮件. 这个工具与sendmail一起运行于网络上, 并且这个工具不支持拨号的POPmail帐号.


注:一个幽灵进程指的是并未附加在终端会话中的后台进程. 幽灵进程在指定的时间执行指定的服务, 或者由特定的事件触发来执行指定的服务.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值