Linux爬坑指南
本篇介绍网络管理 方面的命令
网络管理命令
ip命令
查看所有网卡的接口信息
例: ip a
SYNOPSIS
ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
OBJECT := { link | address | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddress | mroute | mrule | monitor
| xfrm | netns | l2tp | tcp_metrics | token | macsec }
OPTIONS := { -V[ersion] | -h[uman-readable] | -s[tatistics] | -d[etails] | -r[esolve] | -iec | -f[amily] { inet | inet6 | ipx
| dnet | link } | -4 | -6 | -I | -D | -B | -0 | -l[oops] { maximum-addr-flush-attempts } | -o[neline] | -rc[vbuf]
[size] | -t[imestamp] | -ts[hort] | -n[etns] name | -a[ll] | -c[olor] }
[root@localhost home]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host 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:31:aa:fc brd ff:ff:ff:ff:ff:ff
inet 192.168.88.129/24 brd 192.168.88.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe31:aafc/64 scope link
valid_lft forever preferred_lft forever
[root@localhost home]#
ping命令
测试网络连通性
例: ping www.baidu.com
ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
[root@localhost home]# ping www.baidu.com
PING www.a.shifen.com (39.156.66.18) 56(84) bytes of data.
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=1 ttl=128 time=9.04 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=2 ttl=128 time=15.0 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=3 ttl=128 time=38.4 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=4 ttl=128 time=59.4 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=5 ttl=128 time=84.0 ms
^C
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 9.048/41.226/84.099/27.931 ms
[root@localhost home]#
route命令
路由
例: route -n
添加和删除路由的姿势待大家发掘哈
SYNOPSIS
route [-CFvnNee] [-A family |-4|-6]
route [-v] [-A family |-4|-6] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject]
[mod] [dyn] [reinstate] [[dev] If]
route [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
route [-V] [--version] [-h] [--help]
#显示所有路由
[root@localhost home]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.88.2 0.0.0.0 UG 0 0 0 ens33
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
192.168.88.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
[root@localhost home]#
telnet命令
用来远程登录,也可测试端口是否开放
例: id
telnet [参数] [主机]
ssh命令
远程连接工具
例: ssh 192.168.12.4
1、若本地用户名与远程用户名不同,则登录命令格式如下:
$ ssh user@host
2、若本地用户名和远程用户名一致,则登录可省略用户名:
$ ssh host
3、SSH默认端口是22,若访问远程服务器端口非22,则使用p参数,可以修改这个端口。
$ ssh -p 2222 user@host 或 $ ssh -p 2222 host
wget命令
用来从指定的URL下载文件
例: wget https://xiaoshuo.sogou.com/book/6232872035/
SYNOPSIS
wget [option]... [URL]...
-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 显示版本信息;
[root@localhost home]# wget https://xiaoshuo.sogou.com/book/6232872035/
--2021-06-09 19:27:05-- https://xiaoshuo.sogou.com/book/6232872035/
正在解析主机 xiaoshuo.sogou.com (xiaoshuo.sogou.com)... 61.232.10.129, 39.156.167.35, 39.156.167.36, ...
正在连接 xiaoshuo.sogou.com (xiaoshuo.sogou.com)|61.232.10.129|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:未指定 [text/html]
正在保存至: “index.html”
[ <=> ] 37,990 --.-K/s 用时 0.01s
2021-06-09 19:27:05 (2.57 MB/s) - “index.html” 已保存 [37990]
curl命令
可以模仿浏览器去访问网页请求
例: curl -v https://xiaoshuo.sogou.com/book/6232872035/
-A/--user-agent <string> 设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态
netstat命令
用来打印Linux中网络系统的状态信息
例: netstat -at
-a 会列出所有的端口,包括监听的和未监听的。
-t 列出所有的tcp协议的端口
[root@localhost home]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 48 localhost.localdoma:ssh 192.168.88.1:3323 ESTABLISHED
tcp 0 0 localhost.localdoma:ssh 192.168.88.1:bbars ESTABLISHED
tcp6 0 0 localhost:smtp [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 21140 private/verify
unix 2 [ ACC ] STREAM LISTENING 13854 /run/lvm/lvmpolld.socket
unix 2 [ ACC ] STREAM LISTENING 16928 /run/dbus/system_bus_socket
unix 3 [ ] DGRAM 8996 /run/systemd/notify
unix 2 [ ] DGRAM 8998 /run/systemd/cgroups-agent
……等等
ifup/ifdown命令
开启关闭网卡
例: ifdown ens33
SYNOPSIS
ifup CONFIG [boot]
ifdown CONFIG
tcpdump命令
常用域名查询工具
例: tcpdump -i eth0
SYNOPSIS
tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ]
[ -c count ]
[ -C file_size ] [ -G rotate_seconds ] [ -F file ]
[ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
[ --number ] [ -Q|-P in|out|inout ]
[ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ]
[ -E spi@ipaddr algo:secret,... ]
[ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
[ --time-stamp-precision=tstamp_precision ]
[ --immediate-mode ] [ --version ]
[ expression ]
#抓取eth0网卡的数据包,并保存为aaa.pcap文件
[root@caijizhuanyong ~]# tcpdump -i eth0 -w aaa.pcap
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
traceroute命令
路由跟踪
例: traceroute -m 50 www.baidu.com
traceroute[参数][主机]
-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 开启或关闭数据包的正确性检验。
[root@caijizhuanyong ~]# traceroute -m 100 www.baidu.com
traceroute to www.baidu.com (220.181.38.149), 100 hops max, 60 byte packets
全部由centos7环境执行命令