linux网络基础知识(干货)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux网络基础知识(干货)相关的知识,希望对你有一定的参考价值。
IP
NETMASK
GATEWAY
HOSTNAME
DNS1
DNS2
DNS3
动态地址:
DHCP:Dynamic Host Configuration Protocol
路由
linux:网络属于内核
RedHat5: /etc/modprobe.conf
alias
RedHat6: /etc/udev/rules.d/70-persistent-net.rules
以太网:ethX
[[email protected] rules.d]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:B2:5C:04
二层网络使用协力 因特网 mac地址
inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0
ip地址 广播地址 子网掩码
inet6 addr: fe80::20c:29ff:feb2:5c04/64 Scope:Link
ip6地址 作用范围
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
启动中 允许广播 运行状态 允许多播 最大传输单元 度量
RX packets:417 errors:0 dropped:0 overruns:0 frame:0
接受报文个数 错误 丢弃 逆出 帧数
TX packets:351 errors:0 dropped:0 overruns:0 carrier:0
发送
collisions:0 txqueuelen:1000
冲突发生次数 传输队列长度
RX bytes:39841 (38.9 KiB) TX bytes:47438 (46.3 KiB)
接受字节数 发送字节数
ifconfig
-a 显示所有接口的配置信息
ethX 显示指定接口的配置信息
ifconfig ethX
ip/mask ip地址/子网掩码
[up|dowm] 启用|禁用
RedHat5: /etc/init.d/network {start|stop|restart|status}
RedHat6: /etc/init.d/NetworkManager {start|stop|restart|status}
网关
路由:route
route
add :添加
-host : 主机路由
-net : 网络路由
-net 0.0.0.0
route add -net 10.0.0.0/8 gw 192.168.56.2
route add default gw 192.168.56.3
del :删除
route del -net 10.0.0.0/8
route del default
所有做出的改动重启网络服务或主机后失效
查看:
route –n : 以数字方式显示各主机或端口等相关信息
网络配置信息文件:
/etc/sysconfig/network
网卡配置信息文件:
/etc/sysconfig/network-scriptes/ifcfg-ethX
DEVICE=:关联的设备名称,要与文件名的后半部保持一致即:eth0
BOOTPROTO={static|none|dhcp|bootp} :引导协议:要使用静态地址,使用static或none,dhcp表示使用DHCP服务器获取地址。
IPADDR:ip地址
NETMASK :子网掩码
GATEWAY : 设定默认网关
ONBOOT :开机时是否自动激活此网络接口
HWADDR : 硬件地址,要与硬件中的地址保持一致,可省略
USERCTL :{yes|no} 是否允许普通用户控制此接口
PEERDNS :{yes|no} 是否在BOOTPROTO为dhcp时接受DHCP服务指定的DNS地址
不会立即生效,但重启网络服务或主机都会生效
路由:/etc/sysconfig/network-scripts/route-ethX
添加格式一:
DEST via NEXTHOP
192.168.10.0/24 via 10.10.10.254
添加格式二:
ADDRESS0=
NETMASK0=
GATEWAY0=
ADDRESS0=192.168.10.0
NETMASK0=255.255.255.0
GATEWAY0=10.10.10.254
DNS服务器指定方法只有一种
/etc/resolv.conf
nameserver DNS_IP_1
nameserver DNS_IP_2
指定本地解析
vi /etc/hosts
主机ip 主机名 主机别名
192.168.56.1 www.hailiao.com hailiao
主机名:
hostname
vim /etc/sysconfig/network
setup 显示图形配置界面
iproute2
ip
link :配置网络接口与属性
ip link show
ip link set eth1 down
addr : 协议地址
add
ip addr add 192.168.56.5 dev eth1 label eth1:1
del
ip addr del ADDRESS dev DEV
show
ip addr show
flush
ip addr flush dev DEV to prefix
route :路由
ip route show
ip route add to 10.10.10.0/24 dev eth1 via 192.168.56.2
ip route flush to 10/8
一块网卡可以使用多个地址:
网络设备可以起别名
eth0 eth0:0 eth0:1 …
- ifconfig eth1:0 192.168.56.2
- /etc/sysconfig/network-scripts/ifcfg-ethX:X
DEVICE=ethX:X //注意,别名不能使用DHCP ip地址
主机接入网络:
需要:IP、NETMASK、GATEWAY、HOSTNAME、DNS1、DNS2、DNS3、
软件包管理器的核心功能: - 制作软件包
- 安装、卸载、升级、查询、校验
RedHat、SUSE、Debian
Redhat Package Manager
PRM is Package Manager
Debian:dpt
前端工具:yum apt-get
后端工具:
yum:Yellowdog Update Modifier
rpm命令:
rpm
rpmbuild
安装、查询、卸载、升级、校验、数据库的重建等工作
rpm命名:
包:组成部分
主包:bind-9.7.1-1.el5.i586.rpm
子包:bind-libs-9.7.1-1.el5.i586.rpm bind-utils-9.7.1-1.el5.i586.rpm
包名格式:
name-version-release.arch.rpm
bind-major.minor.release-release.arch.rpm
主版本号:重大改进
次版本号:某个字功能发生重大变化
发行号:修正了部分bug,调整了一点功能。
bind-9.7.1.tar.gz
rpm包:
二进制格式
rpm包作者下载源程序,变异配置完成后,制作成rpm包
bind-9.7.1-1.i586(i86_64).rpm noarch(与平台无关)
1.安装
rpm –I /path/to/package_name
-h:以#号显示安装进度
-v:显示详细进度
-vv:显示更详细的进度
--nodeps:忽略依赖关系
--replacepkgs:重新安装,替换原有安装
--force:强行安装,可以实现重新安装或降级
2.查询
rpm –q PACKAGE_NAME :查询指定的包是否已经安装
rpm –qa :查询已经安装的所有包
rpm –qi PACKAGE_NAME :查询指定报的说明信息
rpm –ql PACKAGE_NAME :查询指定包安装后生成的文件列表
rpm –qc PACKAGE_NAME :查询指定包安装后生成的配置文件
rpm –qd PACKAGE_NAME :查询指定包安装后生成的帮助文件
rpm –qf /path/to/some/file : 查询指定的文件是由哪个rpm包安装的生成的
如果某rpm包尚未安装,我们需要查询其说明信息、安装以后会生成文件。
rpm –qpi /path/to/NEW_PACKAGE_FILE
rpm –qpl
3、 升级
rpm –Uvh/path/to/NEW_PACKAGE_FILE 如果装有老版本的,则升级,否则则安装
rpm –Fvh/path/to/NEW_PACKAGE_FILE 如果装有老版本的,则升级,否则则退出
4、卸载
rpm –e PACKAGE_NAME
--nodeps
5、校验
rpm –V PACKAGE_NAME
6、重建数据库
rpm
--rebuilddb : 重建数据库
--initdb:初始化数据库,没有才建立,有就不建立
7、检验来源合法性及软件的完整性。
[[email protected] CentOS]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
[[email protected] CentOS]# rpm -K vsftpd-2.0.5-16.el5_4.1.x86_64.rpmy
rpm –K /path/to/PACKAGE_FILE
dsa、gpg:验证来源合法性,也即验证签名:可以用—nosignature,掠过此项
sha1、md5:验证软件包完整性:可以使用—nodigest,略过此项
yum仓库中的元素据文件
/media/repodata
primary.xml.gz
所有RPM包的列表
依赖关系
每个RPM安装生成的文件列表
filelists.xml.gz
当前仓库中所有PRM包的所有文件列表
other.xml.gz
额外信息,RPM包的修改日志
repomd.xml
记录的是上面三个文件的时间戳和校验和
comps*.xml :RPM包分组信息
command is one of:- install package1 [package2] [...]
- update [package1] [package2] [...]
- check-update
- upgrade [package1] [package2] [...]
- remove | erase package1 [package2] [...]
- list [...]
- info [...]
- provides | whatprovides feature1 [feature2] [...]
- clean [ packages | headers | metadata | dbcache | all ]
- makecache
- groupinstall group1 [group2] [...]
- groupupdate group1 [group2] [...]
- grouplist [hidden] [groupwildcard] [...]
- groupremove group1 [group2] [...]
- groupinfo group1 [...]
- search string1 [string2] [...]
- shell [filename]
- resolvedep dep1 [dep2] [...]
- localinstall rpmfile1 [rpmfile2] [...]
- localupdate rpmfile1 [rpmfile2] [...]
- reinstall package1 [package2] [...]
- downgrade package1 [package2] [...]
- deplist package1 [package2] [...]
- repolist [all|enabled|disabled]
- help [command]
如何为yum定义repo文件
CentOS-Media.repo
This repo is used to mount the default locations for a CDROM / DVD on
CentOS-5. You can use this repo and yum to install items directly off the
DVD ISO that we release.
To use this repo, put in your DVD and use it with the other repos too:
yum --enablerepo=c5-media [command]
or for ONLY the media repo, do this:
yum --disablerepo=* --enablerepo=c5-media [command]
[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/ ftp://
file:///media/cdrom/ http://
file:///media/cdrecorder/ file:///
gpgcheck=1 是否使用gpg验证
enabled=0 是否启用
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
RPM安装
二进制格式
源程序---》编译---》二进制格式
有些特性是编译选定的,如果编译未选定此特性,将无法使用。
rpm包的版本会落后于源码包
编译环境,开发环境
开发库,开发工具
linux :C
GNU :C
C,C++
gcc : GNU C Complier,C
g++ :
perl java python
make : 项目管理工具
makefile :定义了make(gcc,g++)按何种次序去编译这些原程序文件中的源程序
automake,--》makefile.in ?makefile
autoconf,--》configure
./configure
--prefix=/path/to/somewhere
--sysconfdir=/path/to/CONFFILE_PATH
make
make install
- 修改path环境变量,以便能够识别此程序的二进制文件路径
- 默认情况下,系统搜索文件的路径/lib, /usr/lib ,要增添额外的搜寻路径
在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后要把增添的路径直接写至此文件中ldconfig 通知系统重新搜寻库文件
-v : 显示重新搜寻库的过程
- 头文件:输出给系统
默认:/usr/include
增添头文件的搜寻路径,使用链接进行
/usr/local/apache2/include/ /usr/include/
ln –s /usr/local/apache2/include/* /usr/include/ 或
ln –s /usr/local/apache2/include /usr/include/apache2 - man文件路径:安装在—prefix指定的目录下面的man目录 :/usr/share/man
- man –M /path/to/MAN_DIR COMMAND
- 在/etc/man.config中添加一条MANPATH
更多文章请关注:http://www.ilovehai.com
以上是关于linux网络基础知识(干货)的主要内容,如果未能解决你的问题,请参考以下文章
20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础