Linux网络基础

Posted MagnumOvO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux网络基础相关的知识,希望对你有一定的参考价值。

不知不觉我都连续写了这么长时间了,哈哈哈。linux基础写完了,然后下面我们就开始讲linux的网络了。希望大家继续支持我哈哈哈哈

一、查看及测试网络

1.查看网络配置

1.使用ifconfig命令查看网络接口地址

查看活动的网络接口设备

当ifconfig命令不带任何选项和参数时,将显示当前主机的网络信息。

查看指定的网络接口信息

当只需要查看这其中某一个网络接口的信息时,可以使用网络接口的名称作为ifconfig命令的参数。

例如执行“ifconfig eth0”"ifconfig netmask"等

2.使用ip/ethtool命令查看网络接口

ip/ethtool与ifconfig命令相同,但是ip/rthtool更强大,不但可以查看接口基本信息,还可以查看数据链路层网络层,接口速率、模式等等

常用命令:

ip link:查看接口数据链路信息
ip address:查看网络接口的网络层信息
ethtool eth0:查看指定速率模式等信息

3.使用route命令查看路由表条目

路由表:在linux中,它决定本机向其他主机,其他网络发送数据的去向,是排除网络故障的关键信息。

命令:route

destination代表的是目标网段,gateway代表的下一条网段,Iface代表的是发送数据的网络接口

当目标网段是default时,表示此行是默认网关,当下一条为“*”时,表示目标网段是与本机直接相连接。

例如:当前主机是与192.168.4.0/24网段直接相连,默认网关地址就是192.168.4.1

命令:route -n

他会将路由记录中的地址显示为数字,跳过主机解析,加快执行速度。可以对比一下下图中的第一条与上图中的第一条。

4.使用netstat命令查看网络连接情况

Linux netstat 命令用于显示网络状态。

利用 netstat 指令可让你得知整个 Linux 系统的网络情况。

  • -a或–all 显示所有连线中的Socket。
  • -n或–numeric 直接使用IP地址,而不通过域名服务器。
  • -r或–route 显示Routing Table。
  • -t或–tcp 显示TCP传输协议的连线状况。
  • -p或–programs 显示正在使用Socket的程序识别码和程序名称。
netstat -anpt | grep ":80"

5.ss (socket statistics)

格式:ss [选项]

ss命令:也可以查看网络连接情况,主要用于获取socket统计信息,它可以显示和netstat命令类似的输
出内容。
但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /prqc/net/tcp,执行速度都会很慢。ss快的秘诀在于,它利用到了TCP协议栈中tcp. diag。tcp. _diag是一个用于分析统计的模块, 可以获得Linux内核中第一手的信息 ,这就确保了ss的快捷高效。
ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。

选项:

1.-h: 帮助
2.-t: tcp协议相关
3.-u: udp协议相关
4.-W: 裸套接字相关
5.-x: unix sock相关
6.-1: listen状态的连接
7.-a:所有
8.-n:数字格式
9.-p:相关的程序及PID

2.测试网络连接

1.使用ping命令测试网络连通性

如果没有反馈数据包,表示网络连通存在连通性故障,如果反馈的是“request timeout”则显示连接超时。

-c 选项是发送多少个包

ping -c 3 192.168.91.1 //发送三个包给192.168.91.1

2.使用traceroute命令跟踪数据包路由

traceroute命令可以测试从当前主机到目的主机之间经过了那些网络节点,并显示连接状态和时间。

3.使用nslookup命令测试DNS解析

当域名解析出现问题后,无法使用域名的形式访问网络中的web站点,电子邮件系统等服务。

若能够成功反馈要查询域名的ip地址,则表示解析没有问题,否则需要根据实际反馈情况来判断故障原因。

二、设置网络参数

临时配置
通过命令行直接修改当前正在使用的网络地址,修改后立即可以生效。这种方式操作简单快速、执行效事高,一般在调试网络的过程中使用。但由于所做的修改并没有固定地存放在静态的文件中,因此当重启netwrok服务或重启主机后将会失效。

固定配置
通过配置文件来存放固定的各种网络地址,需要重启network服务或重启主机后才会生效。这种方式操作上相对要复杂些, 但相当于“永久配置”,一般在需要为服务器设置固定的网络地址时使用。

1.使用网络配置命令

1.使用ifconfig命令修改网卡的地址、状态

ifconfig 命令不仅可以用于查看网卡配置,还可以修改网卡的IP地址、子网掩码,也可以绑定虚拟网络接口、激活或停用网络接口。
(1)修改网卡的IP地址、子网掩码需要设置网卡的地址时,命令格式如下所示。

ifconfig网络接口名称IP 地址[ netmask子网掩码]

或者

ifconfig网络接口名称IP地址[/子网掩码长度]

通常后一种方式用得更多一些。当不指定子网掩码时,将使用IP地址所在分类的默认子网掩码。指定新的IP地址和子网掩码以后,原有的地址将会失效。例如,执行以下操作可以将网卡eth0的IP地址设置为192.168.168.1,子网掩码长度为24。

[root@localhost ~]# ifconfig eth0 192.168.168.1/24

或者

rot@loahost ~]# ifconfig eth0 192.168.68.1 netmask 255.255.255.5

(2)禁用、激活网络接口
需要临时禁用或者重新激活指定的网络接口时,需要结合“down"“up”开关选项。网络接口被禁用以后,将无法使用该网络接口与其他主机进行连接。例如,执行以下操作将会禁用网卡eth1。

[root@localhost一]# ifconfg eth1 down

(3)为网卡绑定虚拟接口
在对服务器网络进行调试的过程中,有时候需要临时在同个网卡 上使用一个新的IP地址,但是又不能覆盖原有IP地址而导致服务程序不可用。这时可以为网卡绑定一个虚拟的网络接口,然后再为虚拟接口设置新的IP地址。

ifconfig eth0:0 172.17.17.17

ifconfig

2.使用route命令添加、删除静态路由记录

添加删除到指定网段的路由记录

命令:route add -net 192.168.3.0/24 gw 192.168.4.254 //添加静态路由
     route -n //确认添加的路由条目
命令:routedel -net 192.168.3.0/24//删除静态路由
     route -n//确认删除的路由条目

添加删除默认网关记录

route del default gw 192.168.4.1

route add default gw 192.168.4.254

2.修改网络配置文件

网络接口配置文件

本文件位于目录“/etc/systconfig/network-scripts”

格式为ifcfg-XXX(XXX为接口名称)

内容有:

DEVICE:设置网络接口名称
ONBOOT:开机自启
BOOTPROTO:接口配置方式(有静态static,动态dhcp)
IPADDR:IP地址
NETMASK:子网掩码
GATEWAY:默认网关地址

启用禁用网络接口配置

ifdown eth0//关闭接口
ifup eth0//开启接口

主机名称配置文件

centos7主机配置文件变为/etc/hostname文件,而systemd命令hostnamectl用于修改此文件

域名解析配置文件

(1)指定为本机提供DNS解析的服务器地址

/etc/resolv.conf文件中记录了本机默认的DNS服务器信息,对改文件所做的修改将会立即生效。(最多指定3个)

命令:vim /etc/resolv.conf

(2)本地主机映射文件

/etc/hosts文件中记录着一份主机名与IP地址的映射关系表,用来保存经常访问主机的信息,如果需要可以想DNS服务器查询。

以上是关于Linux网络基础的主要内容,如果未能解决你的问题,请参考以下文章

逆向及Bof基础实践

20155307刘浩《网络对抗》逆向及Bof基础

[linux][c/c++]代码片段02

20155311高梓云《网络对抗》逆向及Bof基础

20145301赵嘉鑫《网络对抗》逆向及Bof基础

VSCode自定义代码片段14——Vue的axios网络请求封装