Linux常用网络指令_linux查看网口up down

将lo修改为test_lo

[root@localhost zhangshiyu]# ip link set lo name test_lo

再次启动查看ip发现名字确实修改了

[root@localhost zhangshiyu]# ip link set lo up
Cannot find device “lo”
[root@localhost zhangshiyu]# ip link set test_lo up

查看ip发现名字确实修改了

[root@localhost zhangshiyu]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::fee8:8f4e:2041:7509 prefixlen 64 scopeid 0x20
ether 00:0c:29:bd:2b:9e txqueuelen 1000 (Ethernet)
RX packets 67093 bytes 63792856 (60.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10751 bytes 1765917 (1.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

test_lo: flags=73<UP,LOOPBACK,RUNNING> mtu 9000
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 4194 bytes 362432 (353.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4194 bytes 362432 (353.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


修改mac地址



将test_lo环回口改为aa:aa:aa:aa:aa:aa

[root@localhost zhangshiyu]# ip link set test_lo address aa:aa:aa:aa:aa:aa

查看ip信息得以印证

[root@localhost zhangshiyu]# ip link show
1: test_lo: <LOOPBACK,UP,LOWER_UP> mtu 9000 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback aa:aa:aa:aa:aa:aa brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:bd:2b:9e brd ff:ff:ff:ff:ff:ff
3: virbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:75:26:83 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:75:26:83 brd ff:ff:ff:ff:ff:ff


上文操作都是和网络第二层(数据链路层)相关的操作,接下来我们介绍一下网络第三层的操作



[root@www ~]# ip address show <==就是查阅 IP 参数啊!
[root@www ~]# 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@localhost zhangshiyu]# ip address show

输出结果

1: test_lo: <LOOPBACK,UP,LOWER_UP> mtu 9000 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback aa:aa:aa:aa:aa:aa brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host test_lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:bd:2b:9e brd ff:ff:ff:ff:ff:ff
inet 192.168.0.100/24 brd 192.168.0.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::fee8:8f4e:2041:7509/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: virbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:75:26:83 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:75:26:83 brd ff:ff:ff:ff:ff:ff


为ens33网卡增加一个虚拟ip



增加一条 ip为192.168.2.33/24 广播地址为192.168.0.255 经过ens33网卡的地址

[root@localhost zhangshiyu]#ip address add 192.168.2.33/24 broadcast + dev ens33 label ens33:5233

可以看到增加成功了

[root@localhost zhangshiyu]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::fee8:8f4e:2041:7509 prefixlen 64 scopeid 0x20
ether 00:0c:29:bd:2b:9e txqueuelen 1000 (Ethernet)
RX packets 67995 bytes 63887086 (60.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11217 bytes 1815310 (1.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ens33:5233: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.33 netmask 255.255.255.0 broadcast 192.168.2.255
ether 00:0c:29:bd:2b:9e txqueuelen 1000 (Ethernet)

test_lo: flags=73<UP,LOOPBACK,RUNNING> mtu 9000
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 4350 bytes 376116 (367.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4350 bytes 376116 (367.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


接下来就是ip指令关于路由的操作了



查看当前路由表

[root@localhost zhangshiyu]# ip route show
default via 192.168.0.254 dev ens33 proto static metric 100
192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.100 metric 100
192.168.2.0/24 dev ens33 proto kernel scope link src 192.168.2.33

增加一条到达192.168.5.0网段的路由,交由ens33网卡处理

[root@localhost zhangshiyu]# ip route add 192.168.5.0/24 dev ens33

查看路由,可以看到增加的路由,说明配置成功了

[root@localhost zhangshiyu]# ip route show
default via 192.168.0.254 dev ens33 proto static metric 100
192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.100 metric 100
192.168.2.0/24 dev ens33 proto kernel scope link src 192.168.2.33
192.168.5.0/24 dev ens33 scope link
[root@localhost zhangshiyu]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.254 0.0.0.0 UG 100 0 0 ens33
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33


增加一条默认路由



查看当前路由

[root@localhost zhangshiyu]# ip route show
\default via 192.168.0.254 dev ens33 proto static metric 100
192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.100 metric 100
192.168.2.0/24 dev ens33 proto kernel scope link src 192.168.2.33
192.168.5.0/24 dev ens33 scope link

增加一条默认路由 网关为192.168.1.254 经过ens33网卡处理

[root@localhost zhangshiyu]# ip route add default via 192.168.1.254 dev ens33
RTNETLINK answers: Network is unreachable
[root@localhost zhangshiyu]# ip route add default via 192.168.0.254 dev ens33
[root@localhost zhangshiyu]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.254 0.0.0.0 UG 0 0 0 ens33
0.0.0.0 192.168.0.254 0.0.0.0 UG 100 0 0 ens33
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33


### 手动使用 DHCP 自动取得 IP 参数:dhclient(选看)


如果你是使用 DHCP 协议在局域网络内取得 IP 的话,那么是否一定要去编辑  
 ifcfg-eth0 内的 BOOTPROTO 呢? 嘿嘿!有个更快速的作法,那就是利用 dhclient 这  
 个指令~因为这个指令才是真正发送 dhcp 要求工作的程序啊!那要如何使用呢?很简  
 单!如果不考虑其他的参数,使用底下的方法即可:



[root@www ~]# dhclient eth0


## 网络侦错与观察指令


### 两部主机两点沟通: ping, 用 ping 追踪路径中的最大 MTU 数值



[root@www ~]# ping [选项与参数] IP
选项与参数:
-c 数值:后面接的是执行 ping 的次数,例如 -c 5 ;
-n :在输出数据时不进行 IP 与主机名的反查,直接使用 IP 输出(速度
较快);
-s 数值:发送出去的 ICMP 封包大小,预设为 56bytes,不过你可以放大此
一数值;
-t 数值:TTL 的数值,预设是 255,每经过一个节点就会少一;
-W 数值:等待响应对方主机的秒数。
-M [do|dont] :主要在侦测网络的 MTU 数值大小,两个常见的项目是:
do :代表传送一个 DF (Don’t Fragment) 旗标,让封包不能重新拆包与
打包;
dont:代表不要传送 DF 旗标,表示封包可以在其他主机上拆包与打包


ping三次目标主机



[root@localhost zhangshiyu]# ping -c 3 192.168.0.107

64 bytes 代表icmp封包大小

icmp_seq=1 第几次探测 1代表第一次

ttl=128代表网络封包经过的最大跳数

time响应时间

PING 192.168.0.107 (192.168.0.107) 56(84) bytes of data.
64 bytes from 192.168.0.107: icmp_seq=1 ttl=128 time=0.345 ms
64 bytes from 192.168.0.107: icmp_seq=2 ttl=128 time=0.352 ms
64 bytes from 192.168.0.107: icmp_seq=3 ttl=128 time=0.277 ms

— 192.168.0.107 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.277/0.324/0.352/0.039 ms
[root@localhost zhangshiyu]#


探测目标路径最大mtu值



ping 3次 每个包都不切割,mtu大小为1000byte

[root@localhost zhangshiyu]# ping -c 3 -s 1000 -M do 192.168.0.107
PING 192.168.0.107 (192.168.0.107) 1000(1028) bytes of data.
1008 bytes from 192.168.0.107: icmp_seq=1 ttl=128 time=0.364 ms
1008 bytes from 192.168.0.107: icmp_seq=2 ttl=128 time=0.402 ms
1008 bytes from 192.168.0.107: icmp_seq=3 ttl=128 time=0.705 ms

— 192.168.0.107 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.364/0.490/0.705/0.153 ms

同理mtu增加到1501

[root@localhost zhangshiyu]# ping -c 3 -s 1501 -M do 192.168.0.107
PING 192.168.0.107 (192.168.0.107) 1501(1529) bytes of data.
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500

— 192.168.0.107 ping statistics —
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2001ms


常见以太网最大mtu值


![在这里插入图片描述](https://img-blog.csdnimg.cn/f45e3432b41845eb9b523c82636a10ea.png)


### 两主机间各节点分析: traceroute



[root@www ~]# traceroute [选项与参数] IP
选项与参数:
-n :可以不必进行主机的名称解析,单纯用 IP ,速度较快!
-U :使用 UDP 的 port 33434 来进行侦测,这是预设的侦测协议;
-I :使用 ICMP 的方式来进行侦测;
net.qiang@hotmail.com
-T :使用 TCP 来进行侦测,一般使用 port 80 测试
-w :若对方主机在几秒钟内没有回声就宣告不治…预设是 5 秒
-p 埠号:若不想使用 UDP 与 TCP 的预设埠号来侦测,可在此改变埠号。
-i 装置:用在比较复杂的环境,如果你的网络接口很多很复杂时,才会用到
这个参数;
举例来说,你有两条 ADSL 可以连接到外部,那你的主机会有两个
ppp,
你可以使用 -i 来选择是 ppp0 还是 ppp1 啦!
-g 路由:与 -i 的参数相仿,只是 -g 后面接的是 gateway 的 IP 就是了。



追踪本机到百度的路由状态

[root@iZ8vb7bhe4b8nhhhpavhwpZ ~]# traceroute -n www.baidu.com
traceroute to www.baidu.com (110.242.68.3), 30 hops max, 60 byte packets
1 10.247.219.126 0.730 ms 10.130.126.126 0.436 ms 10.130.127.126 0.804 ms
2 11.73.6.241 0.971 ms 11.73.15.93 0.900 ms



设置等待时间 为1秒,以及 TCP 80 端口的情况下探测路由

[root@iZ8vb7bhe4b8nhhhpavhwpZ ~]# traceroute -w 1 -n -T www.baidu.com
traceroute to www.baidu.com (110.242.68.4), 30 hops max, 60 byte packets
1 10.247.218.126 0.757 ms 10.247.219.126 0.682 ms 10.247.218.126 0.758 ms
2 11.73.16.45 3.663 ms * 11.73.15.117 1.492 ms
3 11.95.20.137 1.011 ms 11.95.19.193 1.085 ms 11.54.243.125 0.968 ms
4 10.102.35.113 5.864 ms * 116.251.124.165 1.906 ms
5 * 10.54.254.73 5.134 ms 140.205.24.145 6.110 ms
6 10.102.155.114 6.082 ms 61.55.133.157 10.110 ms 10.102.155.130 6.065 ms
7 202.99.167.25 10.245 ms 116.251.115.61 10.158 ms 202.99.167.53 17.354 ms
8 211.90.1.37 9.495 ms 61.182.145.22 16.153 ms 211.90.1.69 11.396 ms
9 61.182.172.41 16.644 ms 202.99.167.53 17.375 ms 17.153 ms
10 61.182.145.26 16.081 ms * 110.242.66.182 18.371 ms
11 * 61.182.184.105 13.422 ms *
12 110.242.66.182 18.259 ms * *
13 * * *
14 * * 110.242.68.4 19.453 ms


### 察看本机的网络联机与后门: netstat



[root@www ~]# netstat -[rn] <==与路由有关的参数
[root@www ~]# netstat -[antulpc] <==与网络接口有关的参数
选项与参数:
与路由 (route) 有关的参数说明:
-r :列出路由表(route table),功能如同 route 这个指令;
-n :不使用主机名与服务名称,使用 IP 与 port number ,如同 route -n
与网络接口有关的参数:
-a :列出所有的联机状态,包括 tcp/udp/unix socket 等;
-t :仅列出 TCP 封包的联机;
-u :仅列出 UDP 封包的联机;
-l :仅列出有在 Listen (监听) 的服务之网络状态;
-p :列出 PID 与 Program 的檔名;
-c :可以设定几秒钟后自动更新一次,例如 -c 5 每五秒更新一次网络状态
的显示;


列出当前路由表,以ip和port的格式输出



[zhangshiyu@localhost ~]$ netstat -rn

输出结果

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.92.254 0.0.0.0 UG 0 0 0 ens33
192.168.92.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[zhangshiyu@localhost ~]$


查看当前网络联机状态以ip和port的格式输出



[zhangshiyu@localhost ~]$ netstat -an

输出内容

Proto 协议是tcp还是udp

Recv-Q:用户未接收字节数

Send-Q: 用户未发送完成的字节数,或者说远程主机未确认收到的字节数

Local Address:本地ip地址以及端口

Foreign Address:远程ip地址以及端口

State :连接状态

ESTABLISED:已建立联机的状态;

SYN_SENT:请求同步;

SYN_RECV:远程主机收到我们的同步包

FIN_WAIT1:请求断开连接

FIN_WAIT2:该联机已挂断,但正在等待对方主机响应断线确认的封

包;

TIME_WAIT:该联机已挂断,但 socket 还在网络上等待结束;

LISTEN:通常用在服务的监听 port

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN
tcp 0 0 192.168.92.10:22 192.168.92.1:53374 ESTABLISHED
tcp 0 36 192.168.92.10:22 192.168.92.1:53373 ESTABLISHED
tcp6 0 0 :::111 ::😗 LISTEN
tcp6 0 0 :::22 ::😗 LISTEN
tcp6 0 0 ::1:631 ::😗 LISTEN
tcp6 0 0 ::1:25 ::😗 LISTEN
tcp6 0 0 ::1:6010 ::😗 LISTEN
udp 0 0 127.0.0.1:323 0.0.0.0:*
udp 0 0 0.0.0.0:872 0.0.0.0:*
udp 0 0 192.168.122.1:53 0.0.0.0:*
udp 0 0 0.0.0.0:67 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp 0 0 0.0.0.0:49417 0.0.0.0:*
udp6 0 0 ::1:323 ::😗
udp6 0 0 :::872 ::😗
udp6 0 0 :::111 ::😗
raw6 0 0 :::58 ::😗 7
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 28673 /var/run/libvirt/libvirt-sock
unix 2 [ ACC ] STREAM LISTENING 28675 /var/run/libvirt/libvirt-sock-ro
unix 2 [ ACC ] STREAM LISTENING 9219 /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 28677 /var/run/libvirt/libvirt-admin-sock


查看当前启动的网络进程



[zhangshiyu@localhost ~]$ netstat -tulnp
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN -
tcp6 0 0 :::111 ::😗 LISTEN -
tcp6 0 0 :::22 ::😗 LISTEN -
tcp6 0 0 ::1:631 ::😗 LISTEN -
tcp6 0 0 ::1:25 ::😗 LISTEN -
tcp6 0 0 ::1:6010 ::😗 LISTEN -
udp 0 0 127.0.0.1:323 0.0.0.0:* -
udp 0 0 0.0.0.0:872 0.0.0.0:* -
udp 0 0 192.168.122.1:53 0.0.0.0:* -
udp 0 0 0.0.0.0:67 0.0.0.0:* -
udp 0 0 0.0.0.0:111 0.0.0.0:* -
udp 0 0 0.0.0.0:5353 0.0.0.0:* -
udp 0 0 0.0.0.0:49417 0.0.0.0:* -
udp6 0 0 ::1:323 ::😗 -
udp6 0 0 :::872 ::😗 -
udp6 0 0 :::111 ::😗 -


查出当前所有的网络进程



[zhangshiyu@localhost ~]$ netstat -atunp
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN -
tcp 0 0 192.168.92.10:22 192.168.92.1:53374 ESTABLISHED -
tcp 0 36 192.168.92.10:22 192.168.92.1:53373 ESTABLISHED -
tcp6 0 0 :::111 ::😗 LISTEN -
tcp6 0 0 :::22 ::😗 LISTEN -
tcp6 0 0 ::1:631 ::😗 LISTEN -
tcp6 0 0 ::1:25 ::😗 LISTEN -
tcp6 0 0 ::1:6010 ::😗 LISTEN -
udp 0 0 127.0.0.1:323 0.0.0.0:* -
udp 0 0 0.0.0.0:872 0.0.0.0:* -
udp 0 0 192.168.122.1:53 0.0.0.0:* -
udp 0 0 0.0.0.0:67 0.0.0.0:* -
udp 0 0 0.0.0.0:111 0.0.0.0:* -
udp 0 0 0.0.0.0:5353 0.0.0.0:* -
udp 0 0 0.0.0.0:49417 0.0.0.0:* -
udp6 0 0 ::1:323 ::😗 -
udp6 0 0 :::872 ::😗 -
udp6 0 0 :::111 ::😗 -


### 侦测主机名与 IP 对应: host, nslookup


#### host



[root@www ~]# host [-a] hostname [server]
选项与参数:
-a :列出该主机详细的各项主机名设定数据
[server] :可以使用非为 /etc/resolv.conf 的 DNS 服务器 IP 来查询。


列出百度的ip地址



[root@iZ8vb7bhe4b8nhhhpavhwpZ ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 110.242.68.4
www.a.shifen.com has address 110.242.68.3


指定dns解析域名,命令如下所示,笔者使用8.8.8.8这台dns解析百度的ip地址



[root@iZ8vb7bhe4b8nhhhpavhwpZ ~]# host www.baidu.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com is an alias for www.wshifen.com.
www.wshifen.com has address 103.235.46.40


#### nslookup



[root@www ~]# nslookup [-query=[type]] [hostname|IP]
选项与参数:
-query=type:查询的类型,除了传统的 IP 与主机名对应外,DNS 还有很多
信息,
所以我们可以查询很多不同的信息,包括 mx, cname 等等,
例如: -query=mx 的查询方法!


解析百度域名对应的ip



[root@iZ8vb7bhe4b8nhhhpavhwpZ ~]# nslookup www.baidu.com
Server: 100.100.2.136
Address: 100.100.2.136#53

Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 110.242.68.4
Name: www.a.shifen.com
Address: 110.242.68.3


用ip找出对应的域名



[root@iZ8vb7bhe4b8nhhhpavhwpZ ~]# nslookup 8.8.8.8

从输出结果可以看出这个ip是谷歌的

8.8.8.8.in-addr.arpa name = dns.google.


### 远程联机指令与实时通讯软件


#### telnet


这条指令常用于测试机器某端口是否启动,通过检查连通性判断端口状况



[root@www ~]# telnet [host|IP [port]]


示例



测试本机3000端口连通性,看到输出结果就知道连接被拒绝,该端口无法连通

[root@iZ8vb7bhe4b8nhhhpavhwpZ ~]# telnet localhost 3000
Trying ::1…
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1…
telnet: connect to address 127.0.0.1: Connection refused

测试本机80端口联通性,因为笔者开启了http服务,所以会显示连接上了

[root@iZ8vb7bhe4b8nhhhpavhwpZ ~]# telnet localhost 80
Trying ::1…
Connected to localhost.


#### FTP


文件传输协议,使用ftp与目标主机连接命令格式如下



[root@www ~]# ftp [host|IP] [port]


使用示例



范例一:联机到昆山科大去看看

[root@www ~]# yum install ftp
[root@www ~]# ftp ftp.ksu.edu.tw
Connected to ftp.ksu.edu.tw (120.114.150.21).
220---------- Welcome to Pure-FTPd [privsep] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 16:25. Server port: 21.
220-Only anonymous FTP is allowed here <==讯息要看啊!这个 FTP 仅支
援匿名
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 5 minutes of inactivity.
Name (ftp.ksu.edu.tw:root): anonymous <==鸟哥这里用匿名登录!
230 Anonymous user logged in <==嗯!确实是匿名登录了!
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> <==最终登入的结果看起来是这样!
ftp> help <==提供需要的指令说明,可以常参考!
ftp> dir <==显示远程服务器的目录内容 (文件名列表)
ftp> cd /pub <==变换目录到 /pub 当中
ftp> get filename <==下载单一档案,档名为 filename
ftp> mget filename* <==下载多个档案,可使用通配符 *
ftp> put filename <==上传 filename 这个档案到服务器上
ftp> delete file <==删除主机上的 file 这个档案
net.qiang@hotmail.com
ftp> mkdir dir <==建立 dir 这个目录
ftp> lcd /home <==切换『本地端主机』的工作目录
ftp> passive <==启动或关闭 passive 模式
ftp> binary <==数据传输模式设定为 binary 格式
ftp> bye <==结束 ftp 软件的使用


lftp则是ftp的升级版,它支持将文件采集的指令写到脚本中,然后通过lftp指令进行文件采集



[root@www ~]# lftp [-p port] [-u user[,pass]] [host|IP]
[root@www ~]# lftp -f filename
[root@www ~]# lftp -c “commands”
选项与参数:
-p :后面可以直接接上远程 FTP 主机提供的 port
net.qiang@hotmail.com
-u :后面则是接上账号与密码,就能够连接上远程主机了
如果没有加账号密码, lftp 默认会使用 anonymous 尝试匿名登录
-f :可以将指令写入脚本中,这样可以帮助进行 shell script 的自动处理
喔!
-c :后面直接加上所需要的指令。


使用脚本采集文件示例



使用档案配合 lftp 去处理时:

[root@www ~]# mkdir lftp; cd lftp
[root@www lftp]# vim lftp.ksu.sh
open ftp.ksu.edu.tw
cd /pub/CentOS/
mget -c -d RPM-GPG*
bye
[root@www lftp]# lftp -f lftp.ksu.sh
[root@www lftp]# ls
lftp.ksu.sh RPM-GPG-KEY-CentOS-3 RPM-GPG-KEY-CentOS-4
RPM-GPG-KEY-CentOS-6
RPM-GPG-KEY-beta RPM-GPG-KEY-centos4 RPM-GPG-KEY-CentOS-5

直接将要处理的动作加入 lftp 指令中

[root@www lftp]# vim lftp.ksu.sh
lftp -c “open ftp.ksu.edu.tw
cd /pub/CentOS/
mget -c -d RPM-GPG*
bye”
[root@www lftp]# sh lftp.ksu.sh


### 文字接口网页浏览


#### links



[root@www ~]# links [options] [URL]
选项与参数:
-anonymous [0|1]:是否使用匿名登录的意思;
-dump [0|1] :是否将网页的数据直接输出到 standard out 而非 links
软件功能
-dump_charset :后面接想要透过 dump 输出到屏幕的语系编码,big5 使
用 cp950 喔


例如我们想访问Linux内核的网站



links http://www.kernel.org


我们就会见到如下图所示的界面,页面操作大抵如下



  1. 回车或者方向键右:进入白标选中连接
  2. 左键:回退到上一个网页
  3. 上下键:切换白标选中项
  4. g键:按住g输入网址后可进入另一个页面

![在这里插入图片描述](https://img-blog.csdnimg.cn/fb00adafcda647d8b2df45c38d55fd6d.png)


将百度的网页导到本地文件中



用links将连接文件导入到本地baidu.html中

[root@iZ8vb7bhe4b8nhhhpavhwpZ tmp]# links -dump www.baidu.com >baidu.html

查看文件可以看出导入成功了

[root@iZ8vb7bhe4b8nhhhpavhwpZ tmp]# more baidu.html
Refresh: http://www.baidu.com/baidu.html?from=noscript

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值