电子产业一站式赋能平台

PCB联盟网

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

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

[复制链接]

1001

主题

1001

帖子

8803

积分

高级会员

Rank: 5Rank: 5

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

tmshnkncdkd6406117957.gif

tmshnkncdkd6406117957.gif
/ R  D) @* h) \2 t/ d- @
点击上方蓝色字体,关注我们# d+ ^5 e1 t: H; v  v
很多计算机专业大学生经常和我交流:毕业设计没思路、不会做、论文不会写、太难了......
% k* Z* ~: N$ [' \
: L8 f, c( A, Z& L7 C. ^针对这些问题,决定分享一些软、硬件项目的设计思路和实施方法,希望可以帮助大家,也祝愿各位学子,顺利毕业!* ?6 O, D! w' ^# z2 ^

3 _" e+ m. ~0 y

43fon13qw026406118057.png

43fon13qw026406118057.png
' D5 C: a  d( |+ R' {- j: {3 F1 G' P

! V6 z# {  H' `0 Q/ I项目专栏:https://blog.csdn.net/m0_38106923/category_11085518.html?spm=1001.2014.3001.5482
9 ]& b, E6 q3 k0 I& U( n
$ M. q8 {1 {. R% m6 m% c6 n对计算机技术感兴趣的小伙伴请关注公众号:美男子玩编程,公众号优先推送最新技术博文,创作不易,请各位朋友多多点赞、收藏、关注支持~  G5 b1 }" }# D6 X- }, z3 p
目前主流的网络扫描器,大多数采用的是命令行界面,用户使用的门槛相对较高,可视化的图形界面旨在提供给用户一个友好的使用环境,这种用户—界面的体系结构深受广大喜爱。它不需要用户去熟记过多的参数,只需要填入相应的关键信息,通过鼠标点击选择即可完成,大大降低了操作使用的难度。4 a) n' R0 M' @0 N2 ?4 z
1
3 r' B2 @/ c$ U, C2 h4 g& @7 h系统目标8 ^0 A6 V# F/ Y8 f5 i  h% N; P
本设计的最终目标是打造一个具有多种扫描功能的网络扫描器。该扫描器具有以下功能:
! k. p; P+ ^' |% R
  • 可视化的图形界面,旨在为用户提供友好的使用环境。
  • 实现一些基本的扫描任务,如读取到目的主机的软硬件信息,开放的端口等等。
  • 帮助用户去自动生成符合用户心理的扫描结果报告,并将扫描结果以文件的形式展现出了。
    # |$ B! _7 d/ M1 W! P2 t  O) _

    " O6 ]( x: [4 R; f5 I9 N8 l其对应的整体层次设计图如下图所示:
    , s1 v3 C* m/ e/ U7 q2 l( X+ N( E7 ~9 I! n& n

    huf0kw4qt1i6406118157.png

    huf0kw4qt1i6406118157.png

    " y  v8 _" T& A& Q* e$ I
    / u0 ^$ z( I9 m9 Y: D- E7 k% T, ?4 r项目工程资源下载请参见:https://www.syjshare.com/res/40V489VZ/ Z" G6 J% q0 @; c2 K. B) @
    2
    % F8 Q, q" V- ?2 Y. E* O0 \) r系统原理
    * E, V  F( p& Y管理员站在攻击者的角度去看网络扫描器的工作原理,一切都变得清晰易懂。作为一个攻击者,管理员会考虑首先去搜索网络上存活的主机,选择其中某一些主机作为管理员攻击的目标,管理员再通过向目标主机发送数据包,通过分析反馈的数据包,寻找可能存在的安全隐患,通过利用这些安全隐患去模拟尝试攻击,找到修复该安全隐患的解决方案,从而达到修复漏洞的目的。网络扫描器的工作原理如下图所示:
    , v" x( R( u) c  H( [# O: L9 }- o) f% k9 G! z- f

    enmgemrflnd6406118257.png

    enmgemrflnd6406118257.png
    ) u+ R5 ^8 w' Z* Z6 h
    ) S7 x7 a8 k. W0 x3 ?9 ^
    0 U2 y' Y5 T$ V) i; R( `; H% _8 M( f
    3/ W: H7 \" e1 Z
    系统设计
    ! L5 |9 i1 K5 _' {) j' Z3.1、主机扫描模块5 z0 y' k7 b+ U% |5 f
    主机扫描就是扫描网络中可能存在的主机,主要是通过向特定的主机或者目的 IP 发送构造的 ICMP 协议包来确定目标网络上的主机是否可达。其流程图如下图所示:' C" `( {7 ?9 H/ K! d0 A0 V8 c

    6 Z: D4 A# I# e( [+ ~

    4vt2p0y1zh36406118358.png

    4vt2p0y1zh36406118358.png
    " N) e! T1 d/ L: Z
    1 X1 a# L  |5 e% @$ j1 c
    3.2、端口扫描模块6 g5 a: T: f4 W; K* M1 A
    对某一 IP 段目标主机 IP 的一段端口逐个连接,通过发送数据包对目标主机进行通信,根据反馈回来的数据包信息判断该主机的开放状态,根据其开放端口所对应的主机服务去有针对性的发起相关的服务缺陷攻击。其流程图如下图所示:
    / H4 m! w$ u* @; d: |+ h
    % T$ v' ~8 {/ X2 g( n4 R

    aybjfvtuezu6406118458.png

    aybjfvtuezu6406118458.png
    * j5 T3 x/ o4 \6 ]1 P; a4 V7 ?
    4 T& A3 U8 [& {
    3.3、NetBIOS 扫描模块
    ( x" K6 c" b: k7 I6 A5 X对网上基本输入输出系统 NetBIOS 协议而言,它作为应用层上的一种特殊的协议,它常常被用来管理局域网上的主机,通过该协议的相关约定,管理员可以很方便的读取到局域网上相关目标主机可拥有的相关属性的详细信息。其流程图如下图所示:3 S4 h) P: p7 v, [0 `. h( j

    # }% X) z) E( O1 c

    2w1zs0jjklo6406118558.png

    2w1zs0jjklo6406118558.png
    * J$ C, h: v3 i) j3 z
    8 m8 C4 t: \! p# Z5 ]
    3.4、SNMP扫描模块  * S$ q* r& m/ j5 P' {. B: U
    简单网络管理协议 SNMP 是对智能终端设备做简单管理,管理员可以利用该协议的相关约定去获取支持该协议的各种设备的详细的信息。其流程图如下图所示:1 H# U* Q- c0 f8 \* M. c
    & z9 D# y# `5 X4 w( g. y  `0 K$ i

    gcgp23e2x506406118658.png

    gcgp23e2x506406118658.png

    # I7 C$ G+ `$ }4 s& a6 y( ~3 n1 h) c/ L- K
    3.5、弱密码扫描模块" T. u9 l0 S( D& p0 @2 Z9 M7 F
    弱密码扫描是逐个对目标主机的用户名和密码进行扫描,依次穷举遍历所有的用户名和密码的组合,用遍历生成的密码去逐次尝试验证。通过密码验证系统给出的正确或错误的反馈来判断是否成功获取到了用户的信息。其流程图如下图所示:
    5 Y9 c+ _7 f. U0 R; A8 T' l1 l/ ^+ M& d

    j2a00nosg5a6406118758.png

    j2a00nosg5a6406118758.png
      v3 J0 C; @7 f3 P

    $ M8 n' c' R- X" ?& B- h+ Y; O3.6、嗅探器扫描模块
    0 K2 o9 |1 {# e6 u* V2 _嗅探器扫描是对所接收到的所有数据包进行实时监听,然后依次与监测关键字进行匹配,筛选出那些关键信息。其流程图如下图所示:6 K3 a9 G6 @: R9 i3 W
    & `" m% M# F- D% ~" u- J  h; I9 ~

    axcozvaxwvt6406118858.png

    axcozvaxwvt6406118858.png

    6 T$ z! ?$ P; o& i; P# i6 l/ k& R: Z, A+ ]
    3.7、DOS攻击模块
    ! U. ~5 u- R' [3 X% ]' w% ~DOS 攻击是对目标 IP 的特定端口采用指定的线程数去发送大量的数据和连接请求,不断的消耗目标主机的资源,从而造成目标主机连接资源耗尽,导致其它主机无法使用这些连接资源。其流程图如下图所示:
    $ D8 Y5 ^4 G6 x* a) \7 j  w; h- W6 k: m8 Z- m% z" |( ^

    mc5zdo55hdb6406118959.png

    mc5zdo55hdb6406118959.png

    / F- z6 l( v4 J+ x. [- ^& ?9 p
    9 Q. P6 ]4 [0 {% N8 ]3.8、注入检测模块
    , _1 g3 @3 d, b: O7 s/ f- ~由于程序员及软件设计师在编写程序或设计相关软件模型的过程中出现了设计缺陷,导致非法用户可以通过构造一系列特殊的字符串去拼接到软件的缺陷部分,从而导致非授权用户可以绕过系统验证而读取到数据库中的隐私数据,从而造成信息的泄露,造成巨大的损失。其流程图如下图所示:
    7 E$ H! H9 i) ~
    1 s. V1 @' J- {% v  T# U: U

    poxjpyujj2t6406119059.png

    poxjpyujj2t6406119059.png
    " \2 w  x* ]0 h* d' I- @5 t

    : y. m. ~7 b- j! x8 {: q; \3.9、报告生成模块
    7 y$ Z9 t% ^; H5 V  p报告生成是网络扫描器所提供的任意多种扫描功能对目标 IP 的扫描结果进行汇总,最终以报告的形式打印出来,提供了 html、txt 和 xml 三种打印格式。其流程图如下图所示:
    ! b0 c  V1 ], d1 K) e+ v
      B  |7 I$ d+ {* }0 ]

    rm10mbhh55e6406119159.png

    rm10mbhh55e6406119159.png

    ! f) _' b1 v3 X+ o1 J6 O( ^2 ^7 }. R( h
    4
    6 C3 v5 c- m6 K+ _系统实现
    + R% v+ h$ a  I" |# }/ |  c: K4.1、工作流图! B8 I* Q2 _( E' W& I. M' ?* v* |
    网络扫描器主要工作流程图如下图所示:
    4 P5 p0 E; o/ N7 {. \( j, z
    " P' F5 B) A+ x  A

    oebxdn0kwzz6406119259.png

    oebxdn0kwzz6406119259.png

    % v- E: v& q; {* L' r
    0 U1 I8 J4 S5 l4.2、界面设计; D( x& u4 V& d/ P9 {
    4.2.1、主界面2 H4 |0 O) c; X
    网络扫描器主界面如下图所示:2 c, M, X! T- b, {- h, q5 C) i# W

    0 [6 M* l, i7 P$ v

    3bvqemj5std6406119300.png

    3bvqemj5std6406119300.png
    : W' y4 b$ ]- J: G+ {* S
    7 G6 y6 o4 z" r( d
    4.2.2、子界面
    , q2 f* ?$ u  L2 m! g, O$ c网络扫描器共实现了九个功能模块,下面管理员分别看看这九个功能模块的子界面。7 F; P+ _. ~, {, }7 ]

    5 Q' w- o# P/ z( R7 Z1 J下图的是主机扫描功能模块的界面:
    + I0 U5 A8 g3 {' ?, H1 h" m9 S' |  x7 k. x/ n1 O

    t0tck2qdnct6406119400.png

    t0tck2qdnct6406119400.png
    $ I0 a: o( }6 |# z5 @% @' t* R8 @/ A

    0 V  T5 r- A5 a0 u) \* T3 v下图展示的是端口扫描功能模块的界面:0 v0 ^* b  C* C) s  g# Z
    . \! U2 ]" a5 u; `. A; I

    tplutyd5ry16406119500.png

    tplutyd5ry16406119500.png
    3 H! V  m- ?' S/ g, A- m9 Q- R" g

      o+ h! v, P  O0 G6 V下图展示的是 NetBIOS 扫描功能模块的界面:+ g. @: c6 t  A$ z' M

    4 Y; a- P$ w6 C4 [$ r- U  P5 u& u0 d1 b

    n4zomjdkgra6406119600.png

    n4zomjdkgra6406119600.png
    8 |( r: L( F9 [1 y, o7 S
    + |$ d" q& H' D8 l, F5 J
    下图展示的是 SNMP 扫描功能模块的界面:% a8 s: D% j/ Q

    . O2 `: b! Q9 j$ K8 i* x4 {' @

    nxscr15x13b6406119700.png

    nxscr15x13b6406119700.png
    : k  {! b$ S% ?- x. g

    ! ?) Y5 F1 |: a" X下图展示的是弱密码扫描功能模块的界面:4 [0 K* I/ \3 F( V. O

    " h* X  h% g5 ?

    eg13td5lzzh6406119801.png

    eg13td5lzzh6406119801.png

    : H$ i( ], s; o  Q! m, Q7 S) c% r; T
    - u) [+ X0 M6 E' W. D6 l: v" L下图展示的是嗅探器扫描功能模块的界面:, y7 l  m# |: _
    : e- d. `+ `1 u+ D

      G2 `' X( H6 X. X2 T% {* {# s- y# N( h
    下图展示的是 DOS 攻击功能模块的界面:
    0 [5 e# h* ]7 n6 V& f! }2 k, D/ E( z9 z8 x1 T

    ' I# |9 g- C7 U3 Z. `$ a  d6 A) Y* Z
    下图展示的是注入检测功能模块的界面:
    ; x2 ^% E% r& X' Y
    : D; a" D# [$ R
    3 B+ d* J5 Q" w1 }: r9 \: ~6 K/ F, z& ~- _: }1 |
    下图展示的是报告生成功能模块的界面:
    $ x7 n7 r9 G) d, p9 V1 L0 m! ]& u2 h
    0 L1 j* w" \4 Z" D* l7 V
    . [) d2 E5 c2 T0 u9 j. x! U9 d
    项目工程资源下载请参见:https://www.syjshare.com/res/40V489VZ( o% i2 k5 L+ r

    # f8 O9 z) Z, g# w. u, F; `; h
    + j/ I! N8 Y7 R. H6 [3 }+ ~往期推荐汽车软件开发V模型过程中AUTOSAR工具链的应用
    - \; i! O6 x* B! o详解CAN总线:CAN协议分层结构及功能
    * _) `$ }- p3 Q* @& ALabVIEW智能温室控制系统- i  Z; H1 m, B) O' C; y$ b
    LabVIEW实现PCB电路板坐标定位(实战篇—2)& n6 V# R7 y& x/ }5 t
    网线的粗细和传输速率有关系吗?6类线为什么比超5类线速率快; {5 `; V+ e; i( S
    LabVIEW OCR 实现车牌识别
    , k+ A4 I: m& R* j4 g

      w' D6 w8 L& J4 T7 x' Q( J# z" E
    ) q. L4 u& @7 a& @0 p
    3 q. s. U$ {. }2 t) r- F6 g点击阅读原文,更精彩~
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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