运维工程师必会的Linux命令之(五) 网络管理

运维工程师必会的Linux命令之(五) 网络管理

5.网络管理

5.1Curl

Curl是Linux下一个很强大的http命令行工具,其功能十分强大。

5.1.1读取网页

$ curlhttp://www.linuxidc.com

5.1.2保存网页

$ curlhttp://www.linuxidc.com > page.html

$ curl -o page.htmlhttp://www.linuxidc.com

5.1.3使用的proxy服务器及其端口:-x

$ curl -x 123.45.67.89:1080-o page.html http://www.linuxidc.com

5.1.4使用cookie来记录session信息

$ curl -x 123.45.67.89:1080-o page.html -D cookie0001.txt http://www.linuxidc.com

这个option: -D 是把http的response里面的cookie信息存到一个特别的文件中去,

这样,当页面被存到page.html的同时,cookie信息也被存到了cookie0001.txt里面了

5.1.5下一次访问的时候,继续使用上次留下的cookie信息

使用option来把上次的cookie信息追加到http request里面去:-b

$ curl -x 123.45.67.89:1080-o page1.html -D cookie0002.txt -b cookie0001.txt http://www.linuxidc.com

5.1.6浏览器信息

$ curl -A "Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.0)" -x 123.45.67.89:1080 -o page.html-D cookie0001.txt http://www.linuxidc.com

5.1.7referer

$ curl -A "Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.0)" -x 123.45.67.89:1080 -e"mail.linuxidc.com" -o page.html -D cookie0001.txthttp://www.linuxidc.com

这样就可以骗对方的服务器,你是从mail.linuxidc.com点击某个链接过来的

5.1.8下载文件

$ curl -o 1.jpghttp://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG

$ curl -O http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG

-O 可以按照服务器上的文件名,自动存在本地

$ curl -Ohttp://cgi2.tky.3web.ne.jp/~zzh/screen[1-10].JPG

5.1.9批量下载

$ curl -Ohttp://cgi2.tky.3web.ne.jp/~{zzh,nick}/[001-201].JPG

这样产生的下载,就是

~zzh/001.JPG

~zzh/002.JPG

...

~zzh/201.JPG

~nick/001.JPG

~nick/002.JPG

~nick/201.JPG

5.1.10 自定义文件名的下载

curl -o #2_#1.jpghttp://cgi2.tky.3web.ne.jp/~{zzh,nick}/[001-201].JPG

这样,自定义出来下载下来的文件名,就变成了这样:

原来: ~zzh/001.JPG —->下载后: 001-zzh.JPG 原来:~nick/001.JPG —-> 下载后:001-nick.JPG

这样一来就不怕文件重名啦

5.1.11 断点续传

$ curl -c -Ohttp://cgi2.tky.3wb.ne.jp/~zzh/screen1.JPG

分块下载,我们使用这个option就可以了:-r

举例说明

比如我们有一个http://cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3要下载(赵老师的电话朗诵 :D )我们就可以用这样的命令:

$ curl -r 0-10240 -o"zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &\

$ curl -r 10241-20480 -o"zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &\

$ curl -r 20481-40960 -o"zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &\

$ curl -r 40961- -o"zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3

这样就可以分块下载啦。不过你需要自己把这些破碎的文件合并起来如果你用UNIX或苹果,用 cat zhao.part* > zhao.MP3就可以如果用的是Windows,用copy /b 来解决吧,呵呵

5.1.12 浏览FTP

$ curl -u name:passwdftp://ip:port/path/file

或者大家熟悉的

$ curlftp://name:passwd@ip:port/path/file

5.1.13 FTP上传

上传的option是-T

比如我们向ftp传一个文件:

$ curl -T localfile -uname:passwd ftp://upload_site:port/path/

5.1.14 HTTP上传

$ curl -T localfilehttp://cgi2.tky.3web.ne.jp/~zzh/abc.cgi

注意,这时候,使用的协议是HTTP的PUTmethod

5.1.15 POST模式读取网页

POST模式的option则是-d

比如,

$ curl -d"user=nickwolfe&password=12345" http://www.linuxidc.com/login.cgi

5.1.16 POST模式下的文件上传

比如

这样一个HTTP表单,我们要用curl进行模拟,就该是这样的语法:

$ curl -F upload=@localfile-F nick=go http://cgi2.tky.3web.ne.jp/~zzh/up_file.cgi

5.2finger

5.2.1功能说明

查找并显示用户信息。

5.2.2语法

finger [-lmsp][帐号名称...]

5.2.3补充说明

finger指令会去查找,并显示指定帐号的用户相关信息,包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,包括帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。

5.2.4参数

-l 列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容。

-m 排除查找用户的真实姓名。

-s 列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。

-p 列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容。

5.3ftp

5.3.1功能说明

设置文件系统相关功能。

5.3.2语法

ftp [-dignv][主机名称或IP地址]

5.3.3补充说明

FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。

5.3.4参数

-d 详细显示指令执行过程,便于排错或分析程序执行的情形。

-i 关闭互动模式,不询问任何问题。

-g 关闭本地主机文件名称支持特殊字符的扩充特性。

-n 不使用自动登陆。

-v 显示指令执行过程。

5.4ifconfig

5.4.1功能说明

显示或设置网络设备。

5.4.2语法

ifconfig [网络设备][down

up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

5.4.3补充说明

ifconfig可设置网络设备的状态,或是显示目前的设置。

如果提示找不到命令,可用/sbin/ifconfig。

5.4.4参数

add<地址> 设置网络设备IPv6的IP地址。

del<地址> 删除网络设备IPv6的IP地址。

down 关闭指定的网络设备。

<hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。

io_addr<I/O地址> 设置网络设备的I/O地址。

irq<IRQ地址> 设置网络设备的IRQ。

media<网络媒介类型>设置网络设备的媒介类型。

mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。

metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。

mtu<字节> 设置网络设备的MTU。

netmask<子网掩码> 设置网络设备的子网掩码。

tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。

up 启动指定的网络设备。

-broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。

-pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。

-promisc 关闭或启动指定网络设备的promiscuous模式。

[IP地址] 指定网络设备的IP地址。

[网络设备] 指定网络设备的名称。

5.5ip

5.5.1功能说明

ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具。例如:ifconfig、route等。

5.5.2语法

ip [选项] [动作] [指令]

5.5.3参数

动作:= { link | addr | route | rule | neigh |tunnel | maddr | mroute | monitor }

选项:= { -V[ersion] | -s[tatistics] | -r[esolve]|-f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] }

5.5.4装置介面(device)的相关设定:ip link

ip link 可以设定与装置(device) 有关的相关设定,包括 MTU 以及该网路介面的 MAC 等等, 当然也可以启动 (up) 或关闭 (down) 某个网路介面啦!整个语法是这样的:

[root@linux ~]# ip [-s]

link show <== 单纯的查阅该装置相关的资讯

[root@linux ~]# ip link set

[device] [动作与参数]

参数:

show:仅显示出这个装置的相关内容,如果加上 -s 会显示更多统计数据;

set :可以开始设定项目,device 指的是 eth0, eth1 等等介面代号;

动作与参数:包括有底下的这些动作:

up|down :启动 (up) 或关闭 (down) 某个介面,其他参数使用预设的乙太网路;

address :如果这个装置可以更改 MAC 的话,用这个参数修改!

name :给予这个装置一个特殊的名字;

mtu :就是最大传输单元啊!

范例一:显示出所有的介面资讯

[root@linux ~]# ip linkshow

1: lo: mtu 16436 qdisc noqueue

link/loopback00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000

link/ether00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff

3: sit0: mtu1480 qdisc noop

link/sit 0.0.0.0 brd0.0.0.0

[root@linux ~]# ip -s linkshow eth0

RX: bytes packets errorsdropped overrun mcast

484011792 2247372 0 0 0 0

TX: bytes packets errorsdropped carrier collsns

2914104290 2867753 0 0 0 0

使用 ip link show 可以显示出整个装置介面的硬体相关资讯,如上所示,包括网卡位址(MAC)、MTU等等, 比较有趣的应该是那个 sit0 的介面了,那个 sit0 的介面是用在 IPv4 及 IPv6 的封包转换上的, 对於我们仅使用 IPv4 的网路是没有作用的。 lo 及 sit0 都是主机内部所自行设定的。 而如果加上 -s 的参数後,则这个网路卡的相关统计资讯就会被列出来,包括接收 (RX) 及传送 (TX) 的封包数量等等,详细的内容与 ifconfig 所输出的结果相同的。

范例二:启动、关闭与设定装置的相关资讯

[root@linux ~]# ip link seteth0 up

# 启动 eth0 这个装置介面;

[root@linux ~]# ip link seteth0 down

# 阿就关闭啊!简单的要命~

[root@linux ~]# ip link seteth0 mtu 1000

# 更改 MTU 的值,达到 1000 bytes,单位就是 bytes 啊!

更新网路卡的 MTU 使用 ifconfig 也可以达成啊!没啥了不起,不过,如果是要更改『网路卡代号、 MAC 位址的资讯』的话,那可就得使用 ip 罗~不过,设定前得要先关闭该网路卡,否则会不成功。如下所示:

范例三:修改网路卡代号、MAC 等参数

[root@linux ~]# ip link seteth0 name vbird

SIOCSIFNAME: Device orresource busy

# 因为该装置目前是启动的,所以不能这样做设定。你应该要这样做:

[root@linux ~]# ip link set

eth0 down <==关闭介面

[root@linux ~]# ip link set

eth0 name vbird <==重新设定

[root@linux ~]# ip link

show <==观察一下

2. vbird: mtu 900 qdisc pfifo_fast qlen 1000

link/ehter00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff:ff

# 怕了吧!连网路卡代号都可以改变!不过,玩玩後记得改回来啊!

# 因为我们的ifcfg-eth0 还是使用原本的装置代号!避免有问题,要改回来

[root@linux ~]# ip link set

vbird name eth0 <==介面改回来

[root@linux ~]# ip link seteth0 address aa:aa:aa:aa:aa:aa

[root@linux ~]# ip linkshow eth0

# 如果你的网路卡支援硬体位址 (MAC) 可以更改的话,

# 那么上面这个动作就可以更改你的网路卡位址了!厉害吧!

# 不过,还是那句老话,测试完之後请立刻改回来啊!

在这个装置的硬体相关资讯设定上面,包括 MTU, MAC 以及传输的模式等等,都可以在这里设定。有趣的是那个 address 的项目,那个项目後面接的可是硬体位址(MAC) 而不是 IP 喔! 很容易搞错啊!切记切记!更多的硬体参数可以使用 man ip 查阅一下与 ip link 有关的设定。

5.5.5关於额外的IP 相关设定:ip address

如果说 ip link 是与 OSI 七层协定的第二层资料连阶层有关的话,那么 ip address (ip addr) 就是与第三层网路层有关的参数啦! 主要是在设定与 IP 有关的各项参数,包括 netmask, broadcast 等等。

[root@linux ~]# ip address

show <==就是查阅 IP 参数啊!

[root@linux ~]# ip address

[add|del] [IP参数] [dev 装置名] [相关参数]

show :单纯的显示出介面的IP 资讯啊;

add|del :进行相关参数的增加(add) 或删除 (del) 设定,主要有:

IP 参数:主要就是网域的设定,例如 192.168.100.100/24 之类的设定喔;

dev :这个 IP 参数所要设定的介面,例如 eth0, eth1 等等;

相关参数:主要有底下这些:

broadcast:设定广播位址,如果设定值是 + 表示『让系统自动计算』

label :亦即是这个装置的别名,例如 eth0:0 就是了!

scope :这个介面的领域,通常是这几个大类:

global :允许来自所有来源的连线;

site :仅支援 IPv6 ,仅允许本主机的连线;

link :仅允许本装置自我连线;

host :仅允许本主机内部的连线;

所以当然是使用 global 罗!预设也是global 啦!

范例一:显示出所有的介面之 IP 参数:

[root@linux ~]# ip addressshow

inet 127.0.0.1/8 scope hostlo

inet6 ::1/128 scope host

valid_lft foreverpreferred_lft forever

inet 192.168.1.2/24 brd192.168.1.255 scope global eth0

inet6fe80::250:fcff:fe22:9acb/64 scope link

看到上面那个特殊的字体吗?没错!那就是 IP 参数啦!也是 ip address 最主要的功能。 底下我们进一步来新增虚拟的网路介面试看看:

范例二:新增一个介面,名称假设为eth0:vbird

[root@linux ~]# ip addressadd 192.168.50.50/24 broadcast + \

> dev eth0 labeleth0:vbird

[root@linux ~]# ip addressshow eth0

2: eth0: mtu 1500 qdiscpfifo_fast qlen 1000

link/ether00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff:ff

inet 192.168.1.100/24 brd192.168.1.255 scope global eth0

inet 192.168.50.50/24 brd192.168.50.255 scope global eth0:vbird

inet6fe80::240:d0ff:fe13:c346/64 scope link

# 看到上面的特殊字体了吧?多出了一行新的介面,且名称是eth0:vbird

# 至於那个broadcast + 也可以写成 broadcast 192.168.50.255 啦!

[root@linux ~]# ifconfig

eth0:vbir Linkencap:Ethernet HWaddr 00:40:D0:13:C3:46

inet addr:192.168.50.50Bcast:192.168.50.255 Mask:255.255.255.0

UP BROADCAST RUNNINGMULTICAST MTU:1500 Metric:1

Interrupt:5 Baseaddress:0x3e00

# 如果使用ifconfig 就能够看到这个怪东西了!

范例三:将刚刚的介面删除

[root@linux ~]# ip addressdel 192.168.50.50/24 dev eth0

5.5.6关於路由的相关设定:iproute

ip route 的功能几乎与route 这个指令差不多,但是,他还可以进行额外的参数设计,例如 MTU 的规划等等,相当的强悍啊!

[root@linux ~]# ip route

show <==单纯的显示出路由的设定而已

[root@linux ~]# ip route

[add|del] [IP或网域] [via gateway] [dev 装置]

show :单纯的显示出路由表,也可以使用 list ;

add|del :增加 (add) 或删除 (del) 路由的意思。

IP或网域:可使用192.168.50.0/24 之类的网域或者是单纯的 IP ;

via :从那个gateway 出去,不一定需要;

dev :由那个装置连出去,这就需要了!

mtu :可以额外的设定MTU 的数值喔!

范例一:显示出目前的路由资料

[root@linux ~]# ip routeshow

192.168.1.0/24 dev eth0proto kernel scope link src 192.168.1.2

169.254.0.0/16 dev eth1scope link

default via 192.168.1.254dev eth1

如上表所示,最简单的功能就是显示出目前的路由资讯,其实跟 route 这个指令相同啦!指示必须要注意几个小东西:

proto:此路由的路由协定,主要有 redirect, kernel, boot, static, ra 等, 其中kernel 指的是直接由核心判断自动设定。

scope:路由的范围,主要是link ,亦即是与本装置有关的直接连线。

再来看一下如何进行路由的增加与删除吧!

范例二:增加路由,主要是本机直接可沟通的网域

[root@linux ~]# ip routeadd 192.168.5.0/24 dev eth0

# 针对本机直接沟通的网域设定好路由,不需要透过外部的路由器

192.168.5.0/24 dev eth0scope link

....以下省略....

范例三:增加可以通往外部的路由,需透过 router 喔!

[root@linux ~]# ip routeadd 192.168.10.0/24 via 192.168.5.100 dev eth0

....其他省略....

192.168.10.0/24 via192.168.5.100 dev eth0

# 仔细看喔,因为我有192.168.5.0/24 的路由存在 (我的网卡直接联系),

# 所以才可以将192.168.10.0/24 的路由丢给192.168.5.100

# 那部主机来帮忙传递喔!与之前提到的 route 指令是一样的限制!

范例四:增加预设路由

[root@linux ~]# ip routeadd default via 192.168.1.2 dev eth0

# 那个192.168.1.2 就是我的预设路由器 (gateway) 的意思啊!^_^

# 真的记得,只要一个预设路由就 OK !

范例五:删除路由

[root@linux ~]# ip routedel 192.168.10.0/24

[root@linux ~]# ip routedel 192.168.5.0/24

5.6netstat

5.6.1功能说明

显示网络状态。

5.6.2语法

netstat

[-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

5.6.3补充说明

利用netstat指令可让你得知整个Linux系统的网络情况。

5.6.4参数

-a或--all 显示所有连线中的Socket。

-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。

-c或--continuous持续列出网络状态。

-C或--cache 显示路由器配置的快取信息。

-e或--extend 显示网络其他相关信息。

-F或--fib 显示FIB。

-g或--groups 显示多重广播功能群组组员名单。

-h或--help 在线帮助。

-i或--interfaces显示网络界面信息表单。

-l或--listening显示监控中的服务器的Socket。

-M或--masquerade显示伪装的网络连线。

-n或--numeric直接使用IP地址,而不通过域名服务器。

-N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。

-o或--timers 显示计时器。

-p或--programs显示正在使用Socket的程序识别码和程序名称。

-r或--route 显示Routing Table。

-s或--statistice显示网络工作信息统计表。

-t或--tcp 显示TCP传输协议的连线状况。

-u或--udp 显示UDP传输协议的连线状况。

-v或--verbose显示指令执行过程。

-V或--version显示版本信息。

-w或--raw 显示RAW传输协议的连线状况。

-x或--unix 此参数的效果和指定"-A unix"参数相同。

--ip或--inet 此参数的效果和指定"-A inet"参数相同。

5.7nslookup

5.7.1功能说明

nslookup命令的功能是查询一台机器的IP地址和其对应的域名。使用权限所有用户。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。

5.7.2语法

nslookup [IP地址/域名]

5.7.3例子

(1)在本地计算机上使用nslookup命令

$ nslookup

Default Server:name.cao.com.cn

Address: 192.168.1.9

在符号“>”后面输入要查询的IP地址域名,并回车即可。如果要退出该命令,输入“exit”,并回车即可。

(2)使用nslookup命令测试named

输入下面命令:

nslookup

然后就进入交换式nslookup环境。如果named正常启动,则nslookup会显示当前DNS服务器的地址和域名,否则表示named没能正常启动。

下面简单介绍一些基本的DNS诊断。

◆ 检查正向DNS解析,在nslookup提示符下输入带域名的主机名,如hp712.my.com,nslookup应能显示该主机名对应的IP地址。如果只输入hp712,nslookup会根据/etc/resolv.conf的定义,自动添加my.com域名,并回答对应的IP地址。

◆检查反向DNS解析,在nslookup提示符下输入某个IP地址,如192.22.33.20,nslookup应能回答该IP地址所对应的主机名。

◆检查MX邮件地址记录在nslookup提示符下输入:

set q=mx

然后输入某个域名,输入my.com和mail.my.com,nslookup应能够回答对应的邮件服务器地址,即

support.my.com和support2.my.com。

◆检查TXT记录:

set type=txt

然后输入某个域名,nslookup会显示对应的记录。

5.8ping

5.8.1功能说明

检测主机。

5.8.2语法

ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]

5.8.3补充说明

执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

5.8.4参数

-d 使用Socket的SO_DEBUG功能。

-c<完成次数> 设置完成要求回应的次数。

-f 极限检测。

-i<间隔秒数> 指定收发信息的间隔时间。

-I<网络界面> 使用指定的网络界面送出数据包。

-l<前置载入> 设置在送出要求信息之前,先行发出的数据包。

-n 只输出数值。

-p<范本样式> 设置填满数据包的范本样式。

-q 不显示指令执行过程,开头和结尾的相关信息除外。

-r 忽略普通的Routing

Table,直接将数据包送到远端主机上。

-R 记录路由过程。

-s<数据包大小> 设置数据包的大小。

-t<存活数值> 设置存活数值TTL的大小。

-v 详细显示指令的执行过程。

5.9rcp

5.9.1功能说明

远端复制文件或目录。

5.9.2语法

rcp [-pr][源文件或目录][目标文件或目录] 或 rcp [-pr][源文件或目录...][目标文件]

5.9.3补充说明

rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它灰把前面指定的所有文件或目录复制到该目录中。

5.9.4参数

-p 保留源文件或目录的属性,包括拥有者,所属群组,权限与时间。

-r 递归处理,将指定目录下的文件与子目录一并处理。

5.10route

5.10.1 功能说明

route表示手工产生、修改和查看路由表。

5.10.2 语法

#route [-add][-net|-host]targetaddress [-netmask Nm][dev]If]

#route [-delete][-net|-host]targetaddress [gw Gw] [-netmask Nm] [dev]If]

5.10.3 参数

-add:增加路由。

-delete:删除路由。

-net:路由到达的是一个网络,而不是一台主机。

-host:路由到达的是一台主机。

-netmask Nm:指定路由的子网掩码。

gw:指定路由的网关。

[dev]If:强迫路由链指定接口。

5.10.4 例子

route add -net 202.96.96.0-netmask 255.255.255.0 gw 192.168.1.10 dev eth0

表示到202.96.96.0/255.255.255.0这个网络的信息通过你的第一块网卡发送, 默认网关的地址是192.168.1.10

5.11tcpdump

5.11.1 功能说明

倾倒网络传输数据。

5.11.2 语法

tcpdump

[-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]

5.11.3 补充说明

执行tcpdump指令可列出经过指定网络界面的数据包文件头,在Linux操作系统中,你必须是系统管理员。

5.11.4 参数

-a 尝试将网络和广播地址转换成名称。

-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。

-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。

-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。

-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。

-e 在每列倾倒资料上显示连接层级的文件头。

-f 用数字显示网际网络地址。

-F<表达文件> 指定内含表达方式的文件。

-i<网络界面> 使用指定的网络截面送出数据包。

-l 使用标准输出列的缓冲区。

-n 不把主机的网络地址转换成名字。

-N 不列出域名。

-O 不将数据包编码最佳化。

-p 不让网络界面进入混杂模式。

-q 快速输出,仅列出少数的传输协议信息。

-r<数据包文件> 从指定的文件读取数据包数据。

-s<数据包大小> 设置每个数据包的大小。

-S 用绝对而非相对数值列出TCP关联数。

-t 在每列倾倒资料上不显示时间戳记。

-tt 在每列倾倒资料上显示未经格式化的时间戳记。

-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。

-v 详细显示指令执行过程。

-vv 更详细显示指令执行过程。

-x 用十六进制字码列出数据包资料。

-w<数据包文件> 把数据包数据写入指定的文件。

5.12telnet

5.12.1 功能说明

远端登入。

5.12.2 语法

telnet

[-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]

5.12.3 补充说明

执行telnet指令开启终端机阶段作业,并登入远端主机。

5.12.4 参数

-8 允许使用8位字符资料,包括输入与输出。

-a 尝试自动登入远端系统。

-b<主机别名> 使用别名指定远端主机名称。

-c 不读取用户专属目录里的.telnetrc文件。

-d 启动排错模式。

-e<脱离字符> 设置脱离字符。

-E 滤除脱离字符。

-f 此参数的效果和指定"-F"参数相同。

-F 使用Kerberos

V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。

-k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。

-K 不自动登入远端主机。

-l<用户名称> 指定要登入远端主机的用户名称。

-L 允许输出8位字符资料。

-n<记录文件> 指定文件记录相关信息。

-r 使用类似rlogin指令的用户界面。

-S<服务类型> 设置telnet连线所需的IP TOS信息。

-x 假设主机有支持数据加密的功能,就使用它。

-X<认证形态> 关闭指定的认证形态。

5.13traceroute

5.13.1 功能说明

显示数据包到主机间的路径。

5.13.2 语法

traceroute

[-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数 值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主 机名称或IP地址][数据包大小]

5.13.3 补充说明

traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。

5.13.4 参数

-d 使用Socket层级的排错功能。

-f<存活数值> 设置第一个检测数据包的存活数值TTL的大小。

-F 设置勿离断位。

-g<网关> 设置来源路由网关,最多可设置8个。

-i<网络界面> 使用指定的网络界面送出数据包。

-I 使用ICMP回应取代UDP资料信息。

-m<存活数值> 设置检测数据包的最大存活数值TTL的大小。

-n 直接使用IP地址而非主机名称。

-p<通信端口> 设置UDP传输协议的通信端口。

-r 忽略普通的Routing

Table,直接将数据包送到远端主机上。

-s<来源地址> 设置本地主机送出数据包的IP地址。

-t<服务类型> 设置检测数据包的TOS数值。

-v 详细显示指令的执行过程。

-w<超时秒数> 设置等待远端主机回报的时间。

-x 开启或关闭数据包的正确性检验。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容