linux网络基础

Posted

tags:

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

一、ping命令  

  1.1、作用   

  用于检测主机。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

  1.2、命令说明 

  ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]

  1.3、参数说明  

        ● -d 使用Socket的SO_DEBUG功能。

                ● -c<完成次数> 设置完成要求回应的次数。

                ● -f 极限检测。

                ● -i<间隔秒数> 指定收发信息的间隔时间。

                ● -I<网络界面> 使用指定的网络界面送出数据包。

                ● -l<前置载入> 设置在送出要求信息之前,先行发出的数据包。

                ● -n 只输出数值。

                ● -p<范本样式> 设置填满数据包的范本样式。

                ● -q 不显示指令执行过程,开头和结尾的相关信息除外。

                ● -r 忽略普通的Routing Table,直接将数据包送到远端主机上。

                ● -R 记录路由过程。

                ● -s<数据包大小> 设置数据包的大小。

                ● -t<存活数值> 设置存活数值TTL的大小。

                ● -v 详细显示指令的执行过程。

二、ifconfig 

  2.1、作用   

  显示或设置网络设备。ifconfig可设置网络设备的状态,或是显示目前的设置。

  2.2、命令语法 

  ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>]

        [mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

  2.3、参数说明

      ● add<地址> 设置网络设备IPv6的IP地址。

                ● del<地址> 删除网络设备IPv6的IP地址。

                ● down 关闭指定的网络设备。

                ● hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。

                ● io_addr<I/O地址> 设置网络设备的I/O地址。

                ● irq<IRQ地址> 设置网络设备的IRQ。

                ● media<网络媒介类型> 设置网络设备的媒介类型。

                ● mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。

                ● metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。

                ● mtu<字节> 设置网络设备的MTU。

                ● netmask<子网掩码> 设置网络设备的子网掩码。

                ● tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。

                ● up 启动指定的网络设备。

                ● -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。

                ● -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。

                ● -promisc 关闭或启动指定网络设备的promiscuous模式。

                ● [IP地址] 指定网络设备的IP地址。

                ● [网络设备] 指定网络设备的名称。

  2.4、测试

     1)ifconfig  

      技术分享

    2)启动和关闭指定网卡   

     ifconfig eth0 down
          ifconfig eth0 up

      3)为网卡配置和删除IPv6地址

  ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡设置IPv6地址
    ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址

    4)用ifconfig修改MAC地址

       ifconfig eth0 down //关闭网卡
       ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
       ifconfig eth0 up //启动网卡
       ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址
       ifconfig eth1 up //启动网卡

    5)配置ip地址   

    ifconfig eth0 192.168.1.56  // 给eth0网卡配置IP地址
    ifconfig eth0 192.168.1.56 netmask 255.255.255.0  // 给eth0网卡配置IP地址,并加上子掩码
    ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255  // 给eth0网卡配置IP地址,加上子掩码,加上个广播地址

    6)启用和关闭ARP协议

      ifconfig eth0 arp  //开启
          ifconfig eth0 -arp  //关闭

    7)设置最大传输单元

 ifconfig eth0 mtu 1500  //设置能通过的最大数据包大小为 1500 bytes

三、netstat 

  3.1、作用

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

  3.2、语法

    netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

  3.3、参数说明

     ● -a或--all 显示所有连线中的Socket。

                ● -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。

                ● -c或--continuous 持续列出网络状态。

                ● -C或--cache 显示路由器配置的快取信息。

                ● -e或--extend 显示网络其他相关信息。

                ● -F或--fib 显示FIB。

                ● -g或--groups 显示多重广播功能群组组员名单。

                ● -h或--help 在线帮助。

                ● -i或--interfaces 显示网络界面信息表单。

                ● -l或--listening 显示监控中的服务器的Socket。

                ● -M或--masquerade 显示伪装的网络连线。

                ● -n或--numeric 直接使用IP地址,而不通过域名服务器。

                ● -N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。

                ● -o或--timers 显示计时器。

                ● -p或--programs 显示正在使用Socket的程序识别码和程序名称。

                ● -r或--route 显示Routing Table。

                ● -s或--statistice 显示网络工作信息统计表。

                ● -t或--tcp 显示TCP传输协议的连线状况。

                ● -u或--udp 显示UDP传输协议的连线状况。

                ● -v或--verbose 显示指令执行过程。

                ● -V或--version 显示版本信息。

                ● -w或--raw 显示RAW传输协议的连线状况。

                ● -x或--unix 此参数的效果和指定"-A unix"参数相同。

                ● --ip或--inet 此参数的效果和指定"-A inet"参数相同。

  3.4、实例

    1)显示详细的网络状况    

    netstat -a

    2)显示当前户籍UDP连接状况  

    netstat -nu

     3)查看路由相关的信息  

    netstat -rn

     技术分享

    4)查看到本地主机所监听的端口 

netstat -ntlp

     技术分享

四、远程控制命令  

  4.1、telnet

    4.1.1、作用

    用于远端登入。执行telnet指令开启终端机阶段作业,并登入远端主机。

    4.1.2、语法

    命令语法:telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]

    4.1.3、参数说明   

        ● -8 允许使用8位字符资料,包括输入与输出。

                    ● -a 尝试自动登入远端系统。

                    ● -b<主机别名> 使用别名指定远端主机名称。

                    ● -c 不读取用户专属目录里的.telnetrc文件。

                    ● -d 启动排错模式。

                    ● -e<脱离字符> 设置脱离字符。

                    ● -E 滤除脱离字符。

                    ● -f 此参数的效果和指定"-F"参数相同。

                    ● -F 使用Kerberos V5认证时,加此参数可把本地主机的认证数据上传到远端主机。

                    ● -k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。

                    ● -K 不自动登入远端主机。

                    ● -l<用户名称> 指定要登入远端主机的用户名称。

                    ● -L 允许输出8位字符资料。

                    ● -n<记录文件> 指定文件记录相关信息。

                    ● -r 使用类似rlogin指令的用户界面。

                    ● -S<服务类型> 设置telnet连线所需的IP TOS信息。

                    ● -x 假设主机有支持数据加密的功能,就使用它。

                    ● -X<认证形态> 关闭指定的认证形态。

    4.1.4、登录远程主机   

    telnet 192.168.0.5  //登录IP为192.168.0.5的远程主机,执行该命令后需要输入用户名和密码 

    4.2、ssh命令

      4.2.1、作用

      用于远端登入。执行ssh指令开启终端机阶段作业,并登入远端主机。

      4.2.2、语法

      ssh 用户名@IP,执行该命令后需要输入密码 

五、远程传输命令      

  5.1、ftp命令

    5.1.1、作用

    设置文件系统相关功能。FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。

    5.1.2、语法

    ftp [-dignv][主机名称或IP地址]

    5.1.3、参数说明

      ●-d 详细显示指令执行过程,便于排错或分析程序执行的情形。

                  ● -i 关闭互动模式,不询问任何问题。

                  ● -g 关闭本地主机文件名称支持特殊字符的扩充特性。

                  ● -n 不使用自动登陆。

                  ● -v 显示指令执行过程。

  5.2、测试

    如果你的服务中没有装ftp服务器的话可以使用

    sudo apt install vsftpd 或者 sudo apt install proftpd

    1)使用ftp ip地址登录之后,输入用户名和密码之后就会出现ftp>,这操作的就是服务器端的文件了

      技术分享

    2)cd和lcd的区别

      既然你已经是在服务器端的ftp中了,所以cd操作的肯定是服务器端的了。如果你有想改变客户端的路径你就使用lcd

      技术分享

    3)pwd和!pwd的区别

    pwd是查看服务器端的当前目录,使用!pwd是查看客户端的当前目录

    技术分享

    4)常用命令

      dir :这个是为了兼容windows的,和ls  -l的效果一样

      bye、quit、exit  :退出

      bin(用来传输二进制文件,可执行文件),asc :用来设置本地和ftp进行文件传输的时候的编码格式。什么都不设置会自动判断

      prompt是将提示关闭或者开启

      bash n(大小)  放下载到n的时候显示进度条(unix提示)

    5)get和mget  

      get只能单个从ftp服务器上下载文件到本地

      mget可以把多个文件从ftp服务器上下载文件到本地(在下载每个文件都会提示你要不要下载

      技术分享

六、traceroute命令  

  5.1、作用  

  traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。

  具体参数格式:traceroute [-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]

  5.2、命令参数    

  -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 开启或关闭数据包的正确性检验。

   技术分享

   觉得不错的“推荐”一下哦~

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

逆向及Bof基础实践

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

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

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

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

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