mirror of
https://github.com/The-Art-of-Hacking/h4cker.git
synced 2024-12-18 10:56:09 +00:00
commit
9ea859548d
55
packet defender
Normal file
55
packet defender
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
class Packet {
|
||||||
|
public:
|
||||||
|
std::string sourceIP;
|
||||||
|
std::string destinationIP;
|
||||||
|
int port;
|
||||||
|
|
||||||
|
Packet(std::string src, std::string dest, int p)
|
||||||
|
: sourceIP(src), destinationIP(dest), port(p) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
class PacketFilter {
|
||||||
|
private:
|
||||||
|
std::vector<std::string> blockedIPs;
|
||||||
|
|
||||||
|
public:
|
||||||
|
void addBlockedIP(const std::string& ip) {
|
||||||
|
blockedIPs.push_back(ip);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool isBlocked(const Packet& packet) {
|
||||||
|
return std::find(blockedIPs.begin(), blockedIPs.end(), packet.sourceIP) != blockedIPs.end();
|
||||||
|
}
|
||||||
|
|
||||||
|
void processPacket(const Packet& packet) {
|
||||||
|
if (isBlocked(packet)) {
|
||||||
|
std::cout << "Blocked packet from: " << packet.sourceIP << std::endl;
|
||||||
|
} else {
|
||||||
|
std::cout << "Allowed packet from: " << packet.sourceIP << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
PacketFilter filter;
|
||||||
|
filter.addBlockedIP("192.168.1.10");
|
||||||
|
filter.addBlockedIP("10.0.0.5");
|
||||||
|
|
||||||
|
std::vector<Packet> packets = {
|
||||||
|
Packet("192.168.1.10", "192.168.1.1", 80),
|
||||||
|
Packet("10.0.0.5", "192.168.1.2", 443),
|
||||||
|
Packet("192.168.1.20", "192.168.1.3", 22),
|
||||||
|
Packet("172.16.0.1", "192.168.1.4", 8080)
|
||||||
|
};
|
||||||
|
|
||||||
|
for (const auto& packet : packets) {
|
||||||
|
filter.processPacket(packet);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user