Linux中的常用网络命令
write 用户名:给当前在线的其他用户发信息,以Ctrl+D保存结束
wall [信息内容]:发送广播信息
ping:给指定地址发送通讯请求来测试网络连通性
语法:ping [选项] [目标地址(一般为IP)]
默认一直发送请求,直到按Ctrl+C结束。
选项-c指定发送请求的次数,如ping -c 5 192.168.1.1表示发送5次请求给192.168.1.1目标。
-i<间隔秒数> 指定收发信息的间隔时间。
-R 记录路由过程。
ifconfig:查看和设置网卡信息
语法:ifconfig 网卡名 IP地址(对指定网卡临时设定IP地址)
网卡名以eth开头,后面接数字表示第几个网卡,数字以0开始。如eht0表示第一个网卡。
setup:使用工具配置网络(并不是所有Linux发行版本都有这个命令)
手动修改网络配置文件vi /etc/sysconfig/network-scripts/ifcfg-eth0打开第一块网卡的配置文件
TYPE=Ethernet 网卡类型
PROXY_METHOD=none:代理模式
BROWSER_ONLY=no:只有浏览器可以访问网络
BOOTPROTO=static dhcp:开启DHCP服务(自动获取),设置为none代表禁止dhcp,static代表启用静态IP地址(手动设置)、
IPADDR=要设置的IP地址
PREFIX=24:子网掩码24位
NETMASK=子网掩码
GATEWAY=网关
DNS1=网卡DNS地址
NAME=eth0 自定义设备名称
DEFROUTE=yes:是否把这个eth设置为默认路由
IPV4_FAILURE_FATAL=yes:如果ipv4配置失败禁用设备,即使配置了ipv6(不管ipv6是否有效)
UUID=18743e34-7f58-4efe-ab74-2e4db0bec96d 网卡设备的UUID
DEVICE=eth0 网卡接口名称,此配置文件应用到的设备,一般不设置或设置为NAME相同的值
ONBOOT=yes 系统启动时是否自动加载
NM_CONTROLLED=yes 是否实时生效,即修改后无需要重启网卡立即生效
USERCTL=no 是否允许非root用户控制该设备,设置为no,只能用root用户更改
HWADDR=网卡设备MAC地址
IPV6INIT=no 禁用IPV6
PEERDNS=yes yes表示如果DNS项被设定,修改/etc/resolv.conf;如果使用DHCP,yes就是默认设置,no表示不修改/etc/resolv.conf文件.
IPV6_AUTOCONF=yes:是否使用IPV6地址的自动配置
IPV6ADDR:IPV6地址
IPV6DEFAULTGW=2001:da8:8003:801::1 (IPV6地址网关)
IPV6_DEFROUTE=yes:是否把这个eth设置为默认路由
IPV6_FAILURE_FATAL=yes:如果ipv6配置失败禁用设备
IPV6_ADDR_GEN_MODE=stable-privacy
MM_CONTROLLED:MM是NetworkManager的简写,此网卡是否接受MM托管控制;CentOS 6建议为“no”
SERCTL:普通用户是否可控制此设备
BROADCAST:广播
BRIDGE=:设置桥接网卡
MASTER=bond1:指定主的名称
SLAVE:指定了该接口是一个接合界面的组件。
NETWORK:网络地址
ARPCHECK=yes:检测
PEERDNS:是否允许DHCP获得的DNS覆盖本地的DNS
PEERROUTES:是否从DHCP服务器获取用于定义接口的默认网关的信息的路由表条目
然后在重启网络服务就能生效了service network restart。
mail:查看发送电子邮件
发送邮件语法:mail 用户名
mail查看邮件时直接输入邮件序列号回车即可查看对应的邮件内容,序列号前面的N表示未读邮件,命令"d 序列号"可以删除指定序列号的邮件。q加回车退出.
traceroute 选项[数据包大小]:显示数据包到指定地址的路径(路由节点),默认数据包大小是40Bytes
-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 开启或关闭数据包的正确性检验。
netstat [-选项]:显示网络相关信息
-a 显示所有连线中的Socket。
-c 持续列出网络状态。
-C 显示路由器配置的快取信息。
-e 显示网络其他相关信息。
-i 显示网络界面信息表单。
-l 显示监控中的服务器的Socket。
-M 显示伪装的网络连线。
-n 直接使用IP地址和端口号,而不通过域名服务器。
-N 显示网络硬件外围设备的符号连接名称。
-o 显示计时器。
-p 显示正在使用Socket的程序识别码和程序名称。
-r 显示路由表。
-s 显示网络工作信息统计表。
-t 显示TCP传输协议的连线状况。
-u 显示UDP传输协议的连线状况。
常用的-tlun查看本机监听端口,-an查看本机所有网络连接,-rn查看本机路由表
ss命令:当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。这是推荐使用ss命令
ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢。(但仍然比 netstat要快。)
-n, --numeric 不解析服务名称
-r, --resolve 解析主机名
-a, --all 显示所有套接字(sockets)
-l, --listening 显示监听状态的套接字(sockets)
-o, --options 显示计时器信息
-e, --extended 显示详细的套接字(sockets)信息
-m, --memory 显示套接字(socket)的内存使用情况
-p, --processes 显示使用套接字(socket)的进程
-i, --info 显示 TCP内部信息
-s, --summary 显示套接字(socket)使用概况
-4, --ipv4 仅显示IPv4的套接字(sockets)
-6, --ipv6 仅显示IPv6的套接字(sockets)
-0, --packet 显示 PACKET 套接字(socket)
-t, --tcp 仅显示 TCP套接字(sockets)
-u, --udp 仅显示 UCP套接字(sockets)
-d, --dccp 仅显示 DCCP套接字(sockets)
-w, --raw 仅显示 RAW套接字(sockets)
-x, --unix 仅显示 Unix套接字(sockets)