1 ifconfig:可以用于查看、配置、启用或禁用指定网络接口,如配置网卡的IP地址、掩码、广播地址、网关等
#ifconfig interface [[-net -host] address [parameters]]
其中interface是网络接口名,address是分配给指定接口的主机名或IP地
址。-net和-host参数分别告诉ifconfig将这个地址作为网络号或是主机地址。
启动关闭指定网卡
ifconfig eth0 down
ifconfig eth0 up
为网卡配置和删除IPv6地址
ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡设置IPv6地址
ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址
用ifconfig修改MAC地址
ifconfig eth0 down //关闭网卡# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址# ifconfig eth0 up //启动网卡# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址 # ifconfig eth1 up //启动网卡
配置IP地址
ifconfig eth0 192.168.1.56 //给eth0网卡配置IP地址# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 // 给eth0网卡配置IP地址,并加上子掩码# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
启用和关闭ARP协议
ifconfig eth0 arp //开启
ifconfig eth0 -arp //关闭
设置最大传输单元
ifconfig eth0 mtu 1500 //设置能通过的最大数据包大小为 1500 bytes
2 ip:与ifconfig类似
使用ip命令来查看网络配置
ip addr list
查看路由信息
ip route list
ip link show # 显示网络接口信息
ip link set eth0 up # 开启网卡
ip link set eth0 down # 关闭网卡
ip link set eth0 promisc on # 开启网卡的混合模式
ip link set eth0 promisc offi # 关闭网卡的混个模式
ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
ip link set eth0 mtu 1400 # 设置网卡最大传输单元
ip addr show # 显示网卡IP信息
ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址
ip route show # 显示系统路由
ip route add default via 192.168.1.254 # 设置系统默认路由
ip route list # 查看路由信息
ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254
ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关
ip route del default # 删除默认路由
ip route delete 192.168.1.0/24 dev eth0 # 删除路由
3 route:显示添加或修改路由表
命令格式
route [-CFvnee]
route [-v] [-A family] 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] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
route [-V] [–version] [-h] [–help]
常用选项和参数说明
(1) 选项
-C显示路由缓存。
-F显示发送信息
-v显示详细的处理信息。
-n不解析名字。
-ee使用更详细的资讯来显示
-V显示版本信息。
-net到一个网络的路由表。
-host到一个主机的路由表。
(2) 参数
add增加路由记录。
del删除路由记录。
target目的网络或目的主机。
gw设置默认网关。gateway 的简写,后续接的是 IP 的数值。
mss设置TCP的最大区块长度(MSS),单位MB。
window指定通过路由表的TCP连接的TCP窗口大小。
dev如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等。
reject设置到指定网络为不可达,避免在连接到这个网络的地址时程序过长时间的等待,直接就知道该网络不可达。
(1) 添加和删除路由
route {add | del } [-net|-host] [网域或主机] netmask [mask] [gw|dev]
增加 (add) 与删除 (del) 路由的相关参数:
(a) -net :表示后面接的路由为一个网域。
(b) -host :表示后面接的为连接到单部主机的路由。
© netmask :与网域有关,可以设定 netmask 决定网域的大小。
(d) gw :gateway 的简写,后续接的是 IP 的数值,与 dev 不同。
(e) dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等。
(2) 查询路由信息
route -nee
(a) -n:不要使用通讯协定或主机名称,直接使用 IP 或 port number。
(b) -ee:使用更详细的资讯来显示。
(3) 添加/删除默认网关路由
route {add | del } default gw {IP-ADDRESS} {INTERFACE-NAME}
(a) IP-ADDRESS:用于指定路由器(网关)的IP地址。
(b) INTERFACE-NAME:用于指定接口名称,如eth0。
例1:route add default gw 192.168.1.1 eth0
例2:route del default gw 192.168.1.1 eth0
(4) 添加/删除到指定网络的路由规则
route {add | del } -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
(a) NETWORK-ADDRESS:用于指定网络地址。
(b) NETMASK:用于指定子网掩码。
© INTERFACE-NAME:用于指定接口名称,如eth0。
例1:route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
例2:route del -net 192.168.1.0 netmask 255.255.255.0 dev eth0
(5) 添加/删除路由到指定网络为不可达
设置到指定网络为不可达,避免在连接到这个网络的地址时程序过长时间的等待,直接就知道该网络不可达。
route {add | del } -net {NETWORK-ADDRESS} netmask {NETMASK} reject
(a) NETWORK-ADDRESS:用于指定网络地址。
(b) NETMASK:用于指定子网掩码。
例1:route add -net 10.0.0.0 netmask 255.0.0.0 reject
例2:route del -net 10.0.0.0 netmask 255.0.0.0 reject
4 iptables:用来设置、维护和检查Linux内核的IP包过滤规则。filter、
NAT和mangle表可以包含多个链(chain),每个链可以包含多条规则
(rule)。iptables主要对表(table)、链(chain)和规则(rule)进行管
理。
iptables预定义了5个链,分别对应netfilter的5个钩子函数,这5个链分
别是:INPUT链、FORWARD链、OUTPUT链、PREROUTING链、
POSTROUTING链。
iptables指令语法如下:
iptables [-t table] command [match] [-j target/jump]
“-t
table”参数用来指定规则表,内建的规则表分别为nat、mangle和
filter,当未指定规则表时,默认为filter。各个规则表的功能如下:nat:此规则表主要针对PREROUTING和POSTROUTING两个规则链,
主要功能为进行源地址或目的地址的网址转换工作(SNAT、
DNAT)。
mangle:此规则表主要针对PREROUTING、FORWARD和
POSTROUTING 3个规则链,某些特殊应用可以在此规则表里设定,比
如为数据包做标记。
filter:这个规则表是默认规则表,针对INPUT、FORWARD和OUTPUT
3个规则链,这个规则表主要用来进行封包过滤的处理动作,如
DROP、LOG、ACCEPT或REJECT
5 tcpdump:命令用于倾倒网络传输数据
参数说明:
-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<数据包文件> 把数据包数据写入指定的文件。