Linux网络编程基础

Posted 曦樂~

tags:

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

网络的简单定义:一些互相连接的,自治的计算机集合。

 互联网:泛指由路由器互联成的网络。

IP地址:由网络号和主机号组成,唯一标识一台主机。

       ipv4:32位用“ ”分成4个段,每个段是 8 个位(值为 0-255),用 10 进制表示。

       ipv6:128位用“ ”分成 8 个段,每个段 16 个位,用 4 16 进制数表示。

linux查看ip地址的命令:ifconfig

        显示ip地址和测试地址,其中测试地址127.0.0.1在所有电脑上都是一样的。

        

 windows查看ip地址:ipconfig

 MAC地址(物理地址):48位,固化在计算机适配器的ROM中的地址。便于寻址。

 

端口:主机上应用程序的代号

查看端口:netstat -natp,端口不变

套接字:通过它进行消息的发送接收,进程间通讯(跨越主机)。

套接字地址:ip+port(端口)

网络协议:网络规则的集合,什么代表什么

  •     常见协议:
    •         HTTP:超文本传输协议
      •         TCP:传输控制协议
        •         UDP:用户数据报协议
          •         IP:网际协议(互联网协议)
          • 分层:ISO的OSI七层,Tcp/IP四层,教学模型五层。
          • 确定本地主机是否能与另一台主机交换数据报:ping IP地址或主机域名
          • 服务器端(一个)--->客户端(多个主动连接服务器端)

            平常用域名,如:www.baidu.com

            服务器转换成ip。要先启动服务器再用客户端链接。

Linux用户管理Linux网络基础

LINUX 网络基础

一.   网络配置文件

1./etc/sysconfig/network 文件

   功能设置主机最基本的网络信息包括主机名、默认网关等信息

   内容

       ①   NETWORKING= yes/no                设定启动系统时是否启用网络服务。

      ②   HOSTNAME= www.sinaNaN                 设定主机名不是NETBIOS

      ③   GATEWAY= 192.168.0.1                  设定默认网关。

       ④   GATEWAYDEV= eth0                      设定网关接口。

       ⑤   FORWARD_IPV4= yes/no                  设定LINUX是否支持IP转发。

2./etc/sysconfig/network-scripts/ifcfg-ethX(X取值0,1,2,…….n)

   功能:用于配置以太网接口卡的初始信息,。

   内容

       ①   ONBOOT= yes                        在设定启动时,是否激活网卡。

       ②   DEVICE= eth0                           设定物理设备名称。

       ③   BOOTPROTO= none|static|dhcp|bootp      设定网卡启动协议。

       ④   NETMASK= 255.255.255.0                 设定子网掩码。

       ⑤   BROADCAST= 192.168.3.255               设定广播码。

       ⑥   NETWORK= 192.168.3.0                   设定网络号。

       ⑦   IPADDR= 192.168.3.2                    设定主机IP。

注意:一个以太网卡如何绑定多个IP地址?

实例:设定主机中存在的eth0设备,它的ip地址是:192.168.3.1/24,要求给eth0再绑定ip:192.168.5.1

        ① # cp/etc/sysconfig/network-scripts/ifcfg-eth0 至

             /etc/sysconfig/network-scrppts/ifcfg-eth0:0(x的取值从0开始)

        ② # vi /etc/sysconfigt/network-scrpts/ifcfg-eth0:0

            修改后:

                DEVICE=eth0:0

                ONBOOT=YES

                BOOTPROTO=NONE

                IPADDR=192.168.5.1

                NETMASK=255.255.255.0

                NETWORK=192.168.5.0

                BROADCAST=192.168.5.255

3./etc/resolv.conf

   功能:域名服务客户端的配置文件,用于指定域名服务器的位置

   内容:

       domainname      linux.cn               设定主机域名。

       search          linux.cn               设定搜索列表。

       nameserver     192.168.0.254     设定DNS服务器的IP(最多三个)。

4./etc/host.conf

功能:配置DNS解析顺序及解析相关参数

文件选项:order  bind,hosts/hosts,bind   配置解析顺序

     multi  on/off 设置hosts文件中是否允许一主机名对应多个IP地址

         spoof   on/warn/nowar  设置是否记录欺骗的主机地址

          nospoolf  on/off      是否防止主机欺骗

5./etc/hosts

功能:配置主机名和IP的对应关系,可利用该文件进行名称解析

文件格式:

IP地址     主机名        主机别名

192.168.0.1    www.abc.com       www

二.   常用的网络服务命令.

1.  ifconfig

功能:

     ①  显示网络接口的配置信息。

     ②  激活/禁用某个网络接口。

     ③  配置网络接口IP地址。

格式:

①  # ifconfig  [<接口名>]

②  # ifconfig  <接口名>(up/down)

③  # ifconfig  <接口名>    ip地址   netmask    子网掩码

实例:

            ⑴  # ifconfig 

            ⑵  # ifconfig eth0

            ⑶  #ifconfig eth0 down

            ⑷  # ifconfig eth0 192.168.3.3 netmask255.255.255.0

2.  ifup

      功能:  激活网络接口。

    格式:  ifup <设备名>

    实例:  # ifup  eth0

3.  ifdown

    功能:  禁用网络接口。

    格式:  ifdown <设备名>

    实例:  # ifdown    eth0

4.  ping

功能:向目标主机发送icmp数据包(检测网络)。

5.  netstat

功能:显示网络的连接状态。

格式:# netstat  [参数]

参数:-i        显示接口状态信息

      -lpe      显示所监控中的服务器的socket和正使用的socket程序信息

      -nr       显示内核路由表信息

      -t/-u    显示TCP/UDP连接状态                                   

实例:#netstat  -nr

      #netstat -lpe

      #netstat -t

6.  traceroute

功能:跟踪路由

实例:#traceroute www.ahxh.cn

7.  hostname

功能:显示主机名

实例:#hostname

8.  route

功能:

(1)      显示路由表

(2)      添加路由

(3)      删除路由

实例:

1#route(显示当前系统的路由表信息)

2#routeadd –net 192.168.0.0/24  dev  eth0

3#routeadd –host  192.168.3.2  dev  eth1

4#routeadd –host  192.168.1.3  gw 192.168.1.1

5#routeadd –net  192.168.3.0  netmask 255.255.255.0  gw 192.168.3.1

6#routeadd   default  gw  192.168.0.1

7#routedel –host 192.168.3.2. dev eth1

8#routedel –net  192.168.0.0/24  dev eth0

9#routedel default gw 192.168.0.1

9.  arp

功能:维护arp地址表

实例:

#arp (显示arp地址表)

# arp –s  192.168.3.1 00:60:08:27:ce:b2(向arp地址表中添加记录)

#arp –d  192.168.3.1(删除arp地址表的记录)

#arp  -f (从/etc/ethers文件中读取添加的记录)

10netconfig

功能:配置网络接口选项

格式:#netconfig [选项]

选项:-d 接口名   指定接口名

实例:#netconfig –d  eth0

三.   服务的启动方式

1.  守护进程的定义

linux系统上提供服务的程序是由运行在后台的守护程序来执行的,这些后台守护程序监听特定端口上的客户机的请求,并且为客户机提供相应的服务,我们称这个后台的守护程序称为“守护进程”,又称“服务”。

2.  服务的运行方式

独立运行方式:独立运行的服务由init脚本负责管理,并且每项服务只监听该服务指定的端口,服务的启动脚本存放在/etc/rc.d/init.d

⑵ 超级服务:超级服务由xinetd管理,xinetd同时创建多个socket和监听多个端口,由xinetd管理的服务的配置文件存放在/etc/xinetd.d目录中。

3.  服务的启动、关闭与重启

        ⑴ 独立服务的启动、关闭与重启

            手工方式:

                  ①# /etc/rc.d/init.d/脚本名 <start|restart|stop>

            实例:

                    #/etc/rc.d/init.d/network restart

                             ②# service 服务名 <start|restart|stop>

实例:

#service   httpd start

          自动方式:

                  ①# ntsysv [- -level 级别]

                       实例:

                                    #  ntsysv(设置当前运行级别要运行的服务)

                                    #  ntsysv -–level 5(设置启动5号运行级别要运行的服务)

                                 ②# chkconfig[- -list | - -level 级别] [服务名 <on/off>]

              实例:

                     #chkconfig –-list(显示各项服务在每个运行级别中的状态)

#chkconfig –-level3  dhcpd on

        ⑵ 超级服务器的启动、关闭与重启

             手工方式:

                     ①#/etc/rc.d/init.d/xinetd  <stop|restart|start>

                  ②# service xinetd <stop|start|restart>

             自动方式:

                     ①# ntsysv[--level] 级别

                  ②# chkconfig [--list|--level] 级别 服务名 <on/off>

 


本文出自 “Linux狱长” 博客,请务必保留此出处http://sswqzx.blog.51cto.com/2494644/1973543

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

Linux网络服务01——Linux网络基础设置

linux网络配置

LINUX网络配置基础

《Linux高性能服务器编程》学习总结——Linux网络编程基础API

Linux基础网络服务概述

Linux基础网络管理