网络路由设置全解析:目的地址、网关、接口及跳数等说明
-host: 目的地址是一个主机
: 目的网络或主机
: 目的地址的网络掩码
gw: 路由数据包通过的网关
dev:为路由指定的网络接口
:设置路由跳数。
例子:
##显示当前的路由信息
route
##不解析名字,列出速度会比route快
route -n
##添加到主机的路由
route add -host 10.20.30.148 gw 10.20.30.40
###添加10.20.30.48的网络路由
route add -net 10.20.30.48 255.255.255.248 gw 10.20.30.41
##添加默认网关
route add gw 192.168.0.1
##删除默认网关
route del gw 192.168.0.1
##删除主机路由
route del -host 10.20.30.148 gw 10.20.30.40
##删除网络路由
route del -net 10.20.30.48 255.255.255.248 gw 10.20.30.41
##屏蔽一条网络路由240.0.0.0
route add -net 224.0.0.0 240.0.0.0
##所有去往192.168.0.2主机的数据包发往网关地址
route add -host 192.168.0.2 gw 192.168.0.1
说明:
1)显示结果中Flags为路由标志,标记当前网络节点状态:
U-- Up表示此路由当前为启动状态
H-- Host,表示此网关为一主机
G-- ,表示此网关为一路由器
R-- Route,使用动态路由重新初始化的路由
D-- ,此路由是动态性地写入
M-- ,此路由是由路由守护程序或导向器动态修改
!-- 表示此路由当前为关闭状态
2)主机路由, 网络路由和默认路由的区别:
--三者都属于静态路由,本质上都是一样的,只是精细程度不一样。
--主机路由,软路由,把一台主机当做路由。仅仅只能表示一台,所以子网掩码要用255.255.255.255
--默认路由,网络路由,都是代表的一个网络。网络路由是指的某一个网络的。
但默认路由指向一个公共的,优先级最低,所有路由都找不到自己的路由线路时,就都才会走默认路由。
---arp: 地址解析协议。用来管理系统的arp缓冲区,可以显示、删除、添加静态mac地址。
说明:
网络设备都有一个ARP缓存,其作用是用来存放IP地址和MAC地址的映射关系。
在发送数据前,设备会先查找ARP缓存表。
--如果缓存表中存在对方设备的MAC地址,则直接采用该MAC地址来封装帧,然后将帧发送出去;
--如果不存在MAC信息,刚通过发送arp 报文来查询,从而建立映射表;
--ARP表分为动态和静态表。动态ARP表自动生成和维护,有一定的生命周期,被老化;静态ARP手动配置和维护,不会被老化,一直存在,使用arp命令来配置;
参数:
-a:显示arp缓冲区的所有条目;
-H:指定arp指令使用的地址类型;
-d:从arp缓冲区中删除指定主机的arp条目;
-D:使用指定接口的硬件地址;
-e:以Linux的显示风格显示arp缓冲区中的条目;
-i:指定要操作arp缓冲区的网络接口;
-s:设置指定的主机的IP地址与MAC地址的静态映射;
-n:以数字方式显示arp缓冲区中的条目;
-v:显示详细的arp缓冲区条目,包括缓冲区条目的统计信息;
-f:设置主机的IP地址与MAC地址的静态映射。
例子:
##查看arp缓存
arp -nv
## 在网络设备eth0上添加一条arp缓存条目
arp -i eth0 -s 192.168.0.100 00:11:22:33:44:55
##删除一条arp缓存条目
arp -d 192.168.0.100
##指定回复的MAC地址,当eth0收到IP地址为192.168.0.100的请求时,用eth1的MAC地址应答
arp -i eth0 -Ds 192.168.0.100 eth1 pub

---:用于发送arp请求报文,解析并获取目标地址的MAC。
说明:默认将先发送广播报文,收到回复后再发送单播报文,局域网内所有主机都能收到
广播报文,但只有目标主机才会回复自己的MAC地址。
参数:
-f: 收到第一个reply就立即退出
-q: 安静模式,什么都不输出
-b: 只发送广播,不发送单播
-D: 地址冲突检测
-U: 主动更新邻居的arp缓存( ARP mode)
-c count : 发送多少个arp请求包后退出
-w : 等待reply的超时时间
-I : 发送请求包的网络接口。
-s : 指定arp请求报文中源地址,如果源地址和指定地址不一样,则目标主机会缓存指定的MAC地址,而不是源地址;
-i : 指定数据包之间的间隔(以秒为单位)。
例子:
##向指定的IP发送ARP请求。
-I eth0 192.168.1.100
##请求解析192.168.1.100主机的MAC地址,只发一次arp请求;
sudo -c 1 -I eth0 192.168.1.100
##测试 IP 是否被占用
-I eth0 -w 3 -D 192.168.1.100
##指定发送一个请求报文给192.168.1.100就退出,发送报文的接口为eth1,
并指定请求报文是从本机的源地址192.168.1.200发出;
(简单的arp欺骗操作)
-c 1 -I eth1 -s 192.168.1.200 192.168.1.100
##发送4个探测报文,检测对方192.168.1.100是否存活,在线
-c 4 -I eth0 192.168.1.100
##向目标主机发送3次(指定次数)ARP 请求报文,安静模式。
-I eth0 -q -c 3 192.168.1.100

---: linux系统下用于显示网络状态。
参数:
-a: 显示所有连线中的。
-A或-- 列出该网络类型连线中的相关地址。
-c: 持续列出网络状态,每隔一个固定时间,执行该命令。
-C: 显示路由器配置的快取信息。
-e: 显示网络其他相关信息。
-F: 显示路由缓存。
-g: 显示多重广播功能群组组员名单。
-i: 显示网络设备接口信息列表。
-l:显示监听中的服务器的。
-n: 直接使用IP地址,而不通过域名服务器。
-o:显示计时器。
-p:显示正在使用的进程号和进程名。
-r:显示 Table。
-s:网络统计信息,按协议分类进行统计。
-t或--tcp: 显示TCP传输协议的连接情况。
-u或--udp: 显示UDP传输协议的连接情况。
-v: 显示指令详细执行过程。
-V:显示版本信息。
-w:显示RAW传输协议的连接情况。
例子:
##多屏显示详细的网络状况
-a | more
##显示当前TCP连接状况
-nt
##显示当前UDP连接状况
-nu
##显示UDP端口号的使用情况
-apu
##显示网卡列表
-i
##按协议分类显示网络统计信息
-s
##显示监听的套接口
-l
##只列出所有监听tcp端口
-lt
##显示核心路由信息
-r
## 找出ssh程序运行的端口
-ap | grep ssh
## TCP连接的各种状态列表
-nat |awk '{print $6}'
##统计tcp连接监听的数量
-ant | wc -l
##查看连接某服务端口443最多的的IP地址(前10个)
-nat | grep "192.168.0.100:443" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -10


---host: host命令用于查看或设置系统的主机名。原理是一个用于执行DNS查找的简单实用程序。 它通常用于将名称转换为IP地址,反之亦然。
参数:
-a:显示详细的DNS信息
-c:指定查询类型,默认值为“IN”
-C:查询指定主机的完整的SOA记录
-r:不使用递归的查询方式查询域名
-t:指定查询的域名信息类型
-v:显示指令执行的详细信息

-w:如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答
-W:指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息则退出
-4:使用IPv4查询传输 (默认)
-6:使用IPv6查询传输
例子:
##看当前主机名
##设置主机名:
##永久设置主机名(需要修改/etc/文件):
echo "" > /etc/
##添加DNS信息;
echo "192.168.0.100 " >> /etc/hosts
##显示执行域名查询的详细信息:
host -v www .
##查询域名的MX信息:
host -t MX www .

---ping: 此命令的功能是用于测试主机间网络连通性,通过发送出基于ICMP传输协议的数据包, 要求对方主机予以回复。
安装方法:
sudo apt-get -ping
参数(功能强大):
-d: 使用的功能
-c: 指定发送报文的次数
-i: 指定收发信息的间隔时间(单位为秒,最小值是200ms,即0.2S)
-I: 使用指定的网络接口送出数据包
-l: 设置在等待回复时发送指定数量的数据包
-n: 不进行DNS名称解析。
-p: 设置填满数据包的范本样式
-q: 不显示指令执行过程
-R: 记录路由过程
-s: 设置数据包的大小
-S :使用 作为套接字选项的值
-t: 设置存活数值TTL的大小
-v: 详细显示指令的执行过程
-B:使用固定源地址
-I:接口名称或地址
-p::填充字节的内容
-w:等待回复的截止时间(秒)
-W: 等待响应的时间
-D: 打印时间戳。在每个ping回复中打印时间戳。
-4: 使用IPv4
-6:使用IPv6
-b: 允许ping广播
-R: 记录路由
-T: 定义时间戳,可以是之一
-L:禁止回送多播数据包。不将多播数据包回送到本地回环接口
例子:
##每隔0.2秒ping一次,一共ping 5次
ping -c 5 -i 0.2 www .
##使用指定源地址,在本机上有多个网络接口进行ping时,指定使用特定的源地址。
ping -B 192.168.0.100 www .
## 打印时间戳。在每个ping回复中打印时间戳。
ping -D www .
##使用套接字选项。启用调试模式,打印更多调试信息
ping -d www .
## 洪水式ping。连续发送ping请求,不等待回复。(需要root权限)
sudo ping -f www .
##指定要使用的网络接口名称或地址
ping -I eth1 www .
##在等待回复时发送指定数量的数据包 (非root权限只能发送2个包)
sudo ping -l 10 www .
##标记发送的数据包。可以用于标识特定的数据包流
ping -m 123 192.168.0.100
##不进行DNS名称解析,直接使用IP地址进行ping。
ping -n 192.168.0.100
##填充字节的内容。指定填充数据包的内容(内容必须为16进制数字)。
ping -p ABCD 192.168.0.100
##指定要发送的数据字节数
ping -s 2048 192.168.0.100 (一次发送2048个字节)
ping -s 0 192.168.0.100 (发送空包测试 )
##修改发送缓冲区大小,套接字选项的值
ping -S 8192 -s 2048 192.168.0.100
##强制使用IPv4协议进行ping
ping -4 192.168.0.100
##允许向广播地址发送ping请求。
ping -b 192.168.0.255
##在ping请求中记录数据包的路由路径。
ping -R 192.168.0.100
##定义时间戳的类型,可以是、或之一
ping -T 192.168.0.100
---: 用于登录远程主机,对远程主机进行管理,安全性不好,现在基本使用ssh替代;
安装说明:
--端:sudo apt-get
--端:sudo apt-get
参数:
-l user:在连接时,用指定的用户名称进行登录。
-b host:在多网卡主机上,使用指定的主机地址作为源地址。
-d:启用调试模式,用于排查问题。
例子:
##远程登录指定主机+端口
192.168.0.100 23
---wget:Linux系统下用于从Web下载文件的命令行工具,支持 HTTP、HTTPS及FTP协议;
参数(功能强大,以下为部分参数):
-O: 指定下载的文件名。
-c: 断点续传,即从上次下载中断的地方继续下载。
-b: 后台下载。
-v: 下载时显示详细输出
-q: 静默模式,不输出下载信息。
-t: 重试下载次数。
-T: 下载超时时间。
-U: User-Agent字符串,用于伪装浏览器或其他客户端身份。
-P: 下载到指定目录。
-r: 递归下载,即下载指定URL中所有链接指向的文件。
-np: 不进入上级目录。
-nd: 不创建目录结构。
-nc: 不覆盖已存在的文件,即遇到同名文件不进行下载。
-i: 从文件中读取URL列表进行下载。
-x: 建立基于时间戳的目录结构。
-S: 显示服务器返回的HTTP头信息。
例子:
##后台下载多个URL链接:
wget URL1 URL2 URL3 -b
##下载文件时,指定下载文件的文件名
wget -O .txt ;
##限速下载文件
wget --limit-rate=200k URL1
##下载文件到指定目录,且不显示下载进度条信息;
wget -P /data/ --no-
##使用 -c 选项开启断点续传功能
wget -c ;
##使用 -i 选项下载多个文件,这多个文件链接地址放在一个文件中;
vim .txt #每个url单独一行;
wget -i .txt
##使用 --tries或-t 选项增加重试次数
wget -t=40
##使用FTP下载指定用户名和密码的格式:
wget --ftp-user= --ftp-=
##使用wget –过滤指定格式下载
wget –=gif 百度一下,你就知道www . ##去掉gif格式
##使用wget -o把下载信息存入日志文件
wget -o .log www . 百度一下,你就知道
##使用wget -r -A下载指定格式文件,下载网站上所有PDF文件
wget -r -A.pdf url
##利用代理服务器进行下载
需要在当前用户的目录下创建一个.文件。
1)文件中可以设置代理服务器
http-proxy = 111.111.111.111:8080
ftp-proxy = 111.111.111.111:8080
2)设置代理服务器用户名和密码
–proxy-user=USER设置代理用户
–proxy-=PASS设置代理密码
3)密码和认证:
–http-user=USER设置HTTP用户
–http-=PASS设置HTTP密码
4)使用或者关闭代理
–proxy=on/off
---: 会显示出本机与其他服务器之间的全部路由。
既可以有助于准确判断故障位置, 也可以通过显示的时间、IP等信息了解数据的流向。
工具安装:
sudo apt-get
参数:
-d:使用层级的排错功能。
-f:设置第一个检测数据包的存活数值TTL的大小。
-F:设置勿离断位。
























