Skip to content

MOBITOA/NetHawk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NetHawk

Alt text

Summary

NetHawk'24 한밭대학교 컴퓨터공학과 캡스톤디자인
엣지 컴퓨팅 기반의 AI 보안 라우터라는 주제에서 사용자 인터페이스 부분을 담당하는 어플입니다.
주요 개발 개요는 전체 프로젝트 링크를 통해 확인할 수 있습니다.

App Introduction

NetHawk는 다양한 네트워크 공격에 대응하고, 보안 네트워크 환경을 제공하는 AI 기반 보안 라우터 관리 앱입니다.
이 앱은 사용자 라우터와의 연결 및 연결 상태를 모니터링하고, 네트워크 위협으로부터 알림을 받을 수 있도록 설계되었습니다.

Requirements

  • iOS Deployment Target: 17.5
  • Swift Version: 5.10
  • 패킷 탐지기가 부착된 라우터
  • OpenWRT 기반 라우터

Screenshots

Alt text

Intro (Splash) Page

  • 앱 진입 초기 화면

Connection Page

  • Serial Number와 Device Alias를 입력하여 장치에 연결
  • Internal, External 설정

Main Page

  • 장치의 연결 상태(온라인/오프라인) 실시간 표시
  • 로그 및 다양한 기능으로 접근 가능한 메인 화면

Stat Page

  • 공격 유형, 공격 받은 디바이스 별 공격 로그 통계 시각화
  • 공격 발생 빈도와 취약한 공격에 대한 파악 가능

Access Page

  • IP를 기반으로 접근 허용(화이트리스트) 및 차단(블랙리스트) 기능

Log Page

  • 각 장치에서 발생한 이벤트 로그를 시간순으로 기록 및 표시
  • 이벤트 타입과 침입자 IP 주소 등의 상세 정보 표시

Option Page

  • 알림 설정
  • Internal, External 전환 기능
  • 장치 전환 기능

Architecture

Alt text

Features

Alt text

라우터 연동

  • 라우터 고유 식별자인 S/N(시리얼 넘버) 와 사용자를 정의할 Alias(별칭) 를 입력하여 라우터와 기기를 연동합니다.
    (실 기기마다 고유 S/N이 있고, Alias는 사용자가 정하는 구조를 가정.)
  • 기 연결된 유저는 자동으로 메인 페이지로 이동합니다.

실시간 경고 알림

  • MQTT 서버로부터 실시간 비정상 패킷 수신 및 경고 알림을 수신합니다.

KeyChain 저장

  • S/N, AliasKeyChain에 저장하고, 비정상 패킷 로그 혹은 기타 데이터를 UserDefaults에 저장합니다.

비정상 패킷 통계

  • 다양한 공격 유형별 통계를 제공합니다.
  • 기기별 공격 받은 통계를 제공합니다.

IP 블랙리스트 / 화이트리스트

  • 특정 IP에 대해 차단 혹은 오픈할 수 있는 기능을 제공합니다.

Etcs

  • 이외에 내부망/외부망 스위칭 기능, 연결 라우터 재설정 기능 등을 제공합니다.

Installation

1. Clone Projects

git clone https://github.com/yourusername/NetHawk.git

2. Open and Build/Run

open NetHawk.xcodeproj 

Third-Party Libs

Code Style Guide

Fonts

Contact

✉️ [email protected]