电子产业一站式赋能平台

PCB联盟网

搜索
查看: 79|回复: 0
收起左侧

毕业设计So Easy:基于C++实现网络扫描器

[复制链接]

752

主题

752

帖子

6398

积分

高级会员

Rank: 5Rank: 5

积分
6398
发表于 2023-6-6 12:00:00 | 显示全部楼层 |阅读模式

w1lswacllsp64023083909.gif

w1lswacllsp64023083909.gif

& E$ E) C3 h: X6 s  A7 V点击上方蓝色字体,关注我们
% M& A% R2 E, x$ S$ X很多计算机专业大学生经常和我交流:毕业设计没思路、不会做、论文不会写、太难了......( Q$ @1 H1 A% s' q! Y' C0 `/ B& |

4 V! E: x& V8 \* _0 }针对这些问题,决定分享一些软、硬件项目的设计思路和实施方法,希望可以帮助大家,也祝愿各位学子,顺利毕业!
6 d8 P4 R5 ^2 y  F- U& B8 F4 R7 w1 d4 z& v0 `3 }0 P$ d. O& J( X8 s

s1m1buhel1z64023084009.png

s1m1buhel1z64023084009.png

4 Z! x( P" H. U( R( P2 s
3 @2 p8 |& s  o* j项目专栏:https://blog.csdn.net/m0_38106923/category_11085518.html?spm=1001.2014.3001.5482
$ R, ^  [; j- ^, X1 q* b* ?+ G. t' I; S& Y2 V4 H) o' h
对计算机技术感兴趣的小伙伴请关注公众号:美男子玩编程,公众号优先推送最新技术博文,创作不易,请各位朋友多多点赞、收藏、关注支持~- l& H- k( D7 {' |+ p1 ^
目前主流的网络扫描器,大多数采用的是命令行界面,用户使用的门槛相对较高,可视化的图形界面旨在提供给用户一个友好的使用环境,这种用户—界面的体系结构深受广大喜爱。它不需要用户去熟记过多的参数,只需要填入相应的关键信息,通过鼠标点击选择即可完成,大大降低了操作使用的难度。$ {* F. b! W: m1 p4 \* E- |
1
  B" J2 `% o2 R2 H: {! q5 {7 B系统目标
  d# e7 k2 g0 M4 S8 P- {! \2 e本设计的最终目标是打造一个具有多种扫描功能的网络扫描器。该扫描器具有以下功能:
  K4 f6 J/ |$ h5 A
  • 可视化的图形界面,旨在为用户提供友好的使用环境。
  • 实现一些基本的扫描任务,如读取到目的主机的软硬件信息,开放的端口等等。
  • 帮助用户去自动生成符合用户心理的扫描结果报告,并将扫描结果以文件的形式展现出了。
    1 n+ {* n+ W$ {- a5 X
    8 b, {; |. Q3 @$ G  `
    其对应的整体层次设计图如下图所示:
    . L9 O1 e% O9 p+ I( [5 }1 _0 N3 O

    s2nc2ch53hi64023084109.png

    s2nc2ch53hi64023084109.png
    ' i# F! g9 I  t* B

    9 M% g! n: F3 `- T8 {  I项目工程资源下载请参见:https://www.syjshare.com/res/40V489VZ, r% y0 c9 d5 d) G. p: h% c
    2& r) X  O0 @5 a0 _
    系统原理5 ?6 o" S- |- `' ^, W3 K
    管理员站在攻击者的角度去看网络扫描器的工作原理,一切都变得清晰易懂。作为一个攻击者,管理员会考虑首先去搜索网络上存活的主机,选择其中某一些主机作为管理员攻击的目标,管理员再通过向目标主机发送数据包,通过分析反馈的数据包,寻找可能存在的安全隐患,通过利用这些安全隐患去模拟尝试攻击,找到修复该安全隐患的解决方案,从而达到修复漏洞的目的。网络扫描器的工作原理如下图所示:
    " I; x  `9 Y9 x/ C: K
    ) Y) l: ]0 O# Q3 P7 j& s+ T9 ]

    ev4nock2mvi64023084209.png

    ev4nock2mvi64023084209.png

    , J5 a8 U6 s. l, e' G8 T) f$ H0 q' E" A% b% O

    & Y- Q1 C  [8 {% b+ Q' F3/ @" \  E1 ~7 ?2 B  U
    系统设计
      Z; I, J- m, v4 q$ D3.1、主机扫描模块! @! A& k5 {  G
    主机扫描就是扫描网络中可能存在的主机,主要是通过向特定的主机或者目的 IP 发送构造的 ICMP 协议包来确定目标网络上的主机是否可达。其流程图如下图所示:) Q& w% o1 A# S# i

    8 x5 A2 l, Y: C- M* [. p* k

    ry1tgfdg3sq64023084309.png

    ry1tgfdg3sq64023084309.png

    3 {1 d7 b/ q4 l. c5 K2 n! l& ?1 h* b: E. }: n" d' D
    3.2、端口扫描模块: P" F( j: q/ d4 f! Z8 s* m
    对某一 IP 段目标主机 IP 的一段端口逐个连接,通过发送数据包对目标主机进行通信,根据反馈回来的数据包信息判断该主机的开放状态,根据其开放端口所对应的主机服务去有针对性的发起相关的服务缺陷攻击。其流程图如下图所示:0 Z. N' F9 L, d0 ^# v/ D" e  N. `

    ! p8 W5 l( t: |4 h) c$ o0 O

    4tnsaaa3jzz64023084409.png

    4tnsaaa3jzz64023084409.png

    # W3 h- i! ?6 C( o# E6 D( R* i7 q
    * H" y) P- l; Z, E3.3、NetBIOS 扫描模块
    . G. F' ~+ F& B4 k) o) p对网上基本输入输出系统 NetBIOS 协议而言,它作为应用层上的一种特殊的协议,它常常被用来管理局域网上的主机,通过该协议的相关约定,管理员可以很方便的读取到局域网上相关目标主机可拥有的相关属性的详细信息。其流程图如下图所示:, L& Y5 o/ V4 D2 c9 c7 G% n- D

    ; P. I# X8 x1 Q$ k9 A+ `

    5utyulfda0k64023084510.png

    5utyulfda0k64023084510.png

    ' ^4 v- c+ x% u3 u, R% l  ~% u. Y( n
    3.4、SNMP扫描模块  $ G2 u1 u* n8 H( H# W
    简单网络管理协议 SNMP 是对智能终端设备做简单管理,管理员可以利用该协议的相关约定去获取支持该协议的各种设备的详细的信息。其流程图如下图所示:6 T; R1 m2 Y# a2 L7 O

    9 v' G+ D) U" J. B- _& X

    2vobuntcjem64023084610.png

    2vobuntcjem64023084610.png
    & \5 V0 U+ i8 c- B
    0 V6 @& V% l: E  a4 D
    3.5、弱密码扫描模块2 S1 K3 ~' k  e+ Z0 F
    弱密码扫描是逐个对目标主机的用户名和密码进行扫描,依次穷举遍历所有的用户名和密码的组合,用遍历生成的密码去逐次尝试验证。通过密码验证系统给出的正确或错误的反馈来判断是否成功获取到了用户的信息。其流程图如下图所示:
    0 b: q: i& U+ j  H8 Z7 x: `8 I0 @: a

    tfunorvqrwp64023084710.png

    tfunorvqrwp64023084710.png

    7 v) F! S. b, h& l& j  p7 S! A5 r6 ~& C
    3.6、嗅探器扫描模块
    3 |! {% n) r. N' h3 b) D6 D嗅探器扫描是对所接收到的所有数据包进行实时监听,然后依次与监测关键字进行匹配,筛选出那些关键信息。其流程图如下图所示:
    / L/ h3 S& N& L( T4 d. E% c
    3 e! c2 I# R  N$ y. ~

    bb4d2hxkwbt64023084810.png

    bb4d2hxkwbt64023084810.png
    6 W. j; W; E# Q: m, z; r/ I
    ; L: K9 K- p3 `3 U
    3.7、DOS攻击模块
    ! T2 Y& \9 i* ]! {' p- Y, `( kDOS 攻击是对目标 IP 的特定端口采用指定的线程数去发送大量的数据和连接请求,不断的消耗目标主机的资源,从而造成目标主机连接资源耗尽,导致其它主机无法使用这些连接资源。其流程图如下图所示:
    7 v& v% ^! f) U) [8 y! M3 d8 Z6 X* y6 Q9 Z  o. [1 Q

    s1j4j2tuzzo64023084910.png

    s1j4j2tuzzo64023084910.png

    6 o* |( |$ U  N6 [- A5 x+ T& \/ w. j$ H- l: a
    3.8、注入检测模块
    + G; S8 V; r# L( G* k: L6 T( i" x; }由于程序员及软件设计师在编写程序或设计相关软件模型的过程中出现了设计缺陷,导致非法用户可以通过构造一系列特殊的字符串去拼接到软件的缺陷部分,从而导致非授权用户可以绕过系统验证而读取到数据库中的隐私数据,从而造成信息的泄露,造成巨大的损失。其流程图如下图所示:! K4 [3 o4 A2 x) l9 f0 U
    5 S  T7 d( u# {; l4 t! W4 Z

    ypdgajtphlh64023085011.png

    ypdgajtphlh64023085011.png

    . Z6 g. B! |) U6 |+ g9 B3 _7 e" [3 U. }: }: H  C/ [
    3.9、报告生成模块) B+ E0 g5 f4 ]* Z  n
    报告生成是网络扫描器所提供的任意多种扫描功能对目标 IP 的扫描结果进行汇总,最终以报告的形式打印出来,提供了 html、txt 和 xml 三种打印格式。其流程图如下图所示:
      i% K, ^. G( E/ i2 B% X! e+ |/ k8 g' a$ d. A- H( D1 g  ^

    uvs113hs04p64023085111.png

    uvs113hs04p64023085111.png

    & l! y1 j; `, j& Q: S3 K8 n& k0 o2 p4 y9 U: _) Y% q
    4
    0 t4 V( N( {8 {$ P% q系统实现
      U, u3 i$ A" i' |/ |, t3 w! Y4.1、工作流图
    0 r# f( V# N7 G: N0 _, o网络扫描器主要工作流程图如下图所示:4 \- ~+ A* R2 i

    . T( e2 q% A: f- `" K

    ckcu01xzeu364023085211.png

    ckcu01xzeu364023085211.png
    2 l6 g' P# e& ^0 x/ u7 c

    ' ^/ F* W' \6 G/ F7 h: E4.2、界面设计2 `3 H7 I9 k$ K
    4.2.1、主界面
      a! z% ?+ x0 U# J6 J0 a5 w网络扫描器主界面如下图所示:
    ; O: X" ~. X+ o* o# n8 ^6 N8 [0 q2 \* G7 C0 t8 V

    1xkyu3icds564023085311.png

    1xkyu3icds564023085311.png

    0 Z- I* ]6 R" K1 s6 m3 s
    ' S; Q" j" O; a4.2.2、子界面
    2 x8 q8 ]. M4 k0 @网络扫描器共实现了九个功能模块,下面管理员分别看看这九个功能模块的子界面。( F& ^  B7 q! `3 ^0 v* g2 ^4 N
    % J3 A' ~* ?1 `
    下图的是主机扫描功能模块的界面:
    & J+ E5 e+ x4 n% W3 \! n' s
    ! X( u6 b: u+ c% P! b

    lpros4cn0fv64023085411.png

    lpros4cn0fv64023085411.png

    # J9 _/ c+ z' H1 S' ]
    , t$ u" L- F7 a. C) U下图展示的是端口扫描功能模块的界面:, g% C0 U& x4 ]( R' K( B! [

    * P! Q0 t: }* V; C% f

    o3otpubcjxb64023085511.png

    o3otpubcjxb64023085511.png

    , b% U6 N' |0 S0 w
    2 }+ y. z/ t6 i' ?下图展示的是 NetBIOS 扫描功能模块的界面:7 S" q% N2 v9 R) S$ c, T, K6 s
    5 X" P/ U! L4 Q* g0 V# m

    jnhnufc50la64023085612.png

    jnhnufc50la64023085612.png
    , I' T7 U  a4 p
    . Y2 W1 T5 i- A8 x6 P4 I$ N
    下图展示的是 SNMP 扫描功能模块的界面:
    # i# Z9 y* w" k5 L5 c. s1 O. n; _# J) ]0 k1 ~8 z

    tmcef1tw53q64023085712.png

    tmcef1tw53q64023085712.png
    * R( t* g8 Z- R. n4 f

    3 i  a9 a' c( x; ~4 C下图展示的是弱密码扫描功能模块的界面:2 {0 F. u3 C5 Y' A1 C
    ! K, N( W$ {5 `7 q" ^; o# ]9 D

    zhr1qpypfj464023085812.png

    zhr1qpypfj464023085812.png
    + ^" o1 L, F2 G# M8 T, K% s
    " j1 x1 {% \( S6 d
    下图展示的是嗅探器扫描功能模块的界面:
    + h: ~0 X, N4 g1 f
    1 T" z  K1 @4 p& @( ?$ O0 K' q% A2 C/ @3 l
    $ V2 m- N6 Z6 [7 A! A, ^9 I( h: K
    下图展示的是 DOS 攻击功能模块的界面:( `* }& d/ m# O# }; a
    2 x9 f8 H; D7 _+ v0 V$ ]5 P8 {
    8 N; C8 e. f% n  f  D3 E/ V' p  i
    6 C9 K* j. v) q" P$ Q, K4 B
    下图展示的是注入检测功能模块的界面:; o9 U+ d' Z# _' o& `

    + J1 l5 c) J' P6 ?
    ) `& E* G# g3 l7 F# p) l0 H" o
    2 z/ i8 ~( I) x. H* H0 Q9 a( U下图展示的是报告生成功能模块的界面:
    , n: R$ K' z2 C1 v" {6 b! X
    ' t* }2 g! g; v* L
    8 D- @# k+ c9 L) W$ ^* q; t. P2 [, o* v$ k7 B# M3 g; X' P( y+ \
    项目工程资源下载请参见:https://www.syjshare.com/res/40V489VZ
    - T+ e; B$ [* R  V+ I* U; s: h5 G- v: E9 E  I7 O7 H
    * ~( A2 Z1 d$ V% m. _' X
    往期推荐汽车软件开发V模型过程中AUTOSAR工具链的应用
    / X: o  v0 s: H% r详解CAN总线:CAN协议分层结构及功能
    % ~1 u) q  Y" ^8 BLabVIEW智能温室控制系统- _3 Z8 {" W  g7 {
    LabVIEW实现PCB电路板坐标定位(实战篇—2)
      D/ Q( t  f9 l+ B6 N# k网线的粗细和传输速率有关系吗?6类线为什么比超5类线速率快
    7 W% X  E! R3 X0 K- f% q, E6 jLabVIEW OCR 实现车牌识别
    - f, z/ Z- [9 M) m' p8 A
      U( Q6 r4 E* _. E* |9 x
    9 ~9 ~: }4 I# ~6 r

    ! t0 N$ J3 }9 x: ]) Y0 ]点击阅读原文,更精彩~
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表