Linux 网络
将Linux主机接入到网络,需要配置网络相关设置
一般包括如下内容:
- 主机名
- IP/netmask
- 路由:默认网关
- DNS服务器
- 主DNS服务器
- 次DNS服务器
- 第三个DNS服务器
网络配置命令
ifconfig
基础用法
在不带任何选项和参数执行 ifconfig 命令时, 将显示当前主机中已启用(活动)的网络接口信息
网卡名称详解:
ens33:第一块以太网卡的名称详解:
“ens33”中的
- “en”是“EtherNet”的缩写,表示网卡 类型为以太网,
- “s” 表示热插拔插槽上的设备(hot-plug Slot),
- 数字“33”表示插槽 编号
centos6 网卡 名称叫eth0
常用格式:
ifconfig ,具体网卡名称 ,只显示具体网卡的详细信息(无论该网卡是否启用)
ifconfig ,具体网卡名称,down/up,开启或关闭网卡
设置虚拟网卡ifconfig ens33:0 192.168.xxx.xxx,关闭后自动删除
ifconfig -a 查看所有网卡,包括没开启的
ifconfig -s 查看网路通讯状况
修改主机名
hostname
查看或设置当前主机名
hostname 查看当前主机名,加上需要变更的[主机名]可以临时修改当前主机名,需要登出生效
通过修改/etc/hostname文件来修改主机名,永久生效
网络相关
route
查看或设置主机中路由表信息
route [-n]
-n:将路由记录中的地址信息显示为数字形式
netstat
查看网络连接情况 netstat
netstat 选项
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
服务不能用 ,ftp httpd网页无法访问
查看端口命令 netstat -ntap ,如需指定端口加上|grep 端口号
ss (socket statistics)
格式
ss [选项]
ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。 但 ss 的优势在于它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。 ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效 ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。 如上图
选项:
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称。
traceroute
路由追踪
格式:
traceroute IP地址
例traceroute 192.168.222.100/200
永久修改网络相关配置文件
配置网卡文件vim /etc/sysconfig/network-scripts/ifcfg-ens33
scp
远程同步scp /opt/passwd root @192.168.xxx.xxx:/opt/passwd
命令字 本地文件地址 对方用户名@地址冒号对面地址
tcpdump
网络数据包截获分析工具,也称Linux抓包。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。
tcpdump [-adeflnNOpqStvx][-c][-dd][-ddd][-F][-i][-r][-s][-tt][-T][-vv][-w][输出数据栏位]
参数:
-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 把数据包数据写入指定的文件。
例:
指定查看ens33网卡 tcpdump -i ens33
查看所有网卡 tcpdump -D
监听特定主机,出入包都会被监听
tcpdump host 192.168.xxx.xxx -i ens33
查看指定端口之间的包tcpdump ip host 192.168.xxx.xxx and 192.168.xxx.xxx -i ens33