All scanners save pcap files

This commit is contained in:
Just Call Me Koko
2020-03-18 15:30:08 -04:00
parent 9709bc3d3a
commit fc5d27b4b6
6 changed files with 24 additions and 9 deletions

View File

@@ -5,10 +5,10 @@ Buffer::Buffer(){
bufB = (uint8_t*)malloc(BUF_SIZE); bufB = (uint8_t*)malloc(BUF_SIZE);
} }
void Buffer::open(fs::FS* fs){ void Buffer::open(fs::FS* fs, String fn){
int i=0; int i=0;
do{ do{
fileName = "/"+(String)i+".pcap"; fileName = "/"+fn+"_"+(String)i+".pcap";
i++; i++;
} while(fs->exists(fileName)); } while(fs->exists(fileName));

View File

@@ -13,7 +13,7 @@
class Buffer { class Buffer {
public: public:
Buffer(); Buffer();
void open(fs::FS* fs); void open(fs::FS* fs, String fn = "");
void close(fs::FS* fs); void close(fs::FS* fs);
void addPacket(uint8_t* buf, uint32_t len); void addPacket(uint8_t* buf, uint32_t len);
void save(fs::FS* fs); void save(fs::FS* fs);

View File

@@ -56,7 +56,7 @@ class Display
TFT_eSPI tft = TFT_eSPI(); TFT_eSPI tft = TFT_eSPI();
TFT_eSprite img = TFT_eSprite(&tft); TFT_eSprite img = TFT_eSprite(&tft);
TFT_eSPI_Button key[BUTTON_ARRAY_LEN]; TFT_eSPI_Button key[BUTTON_ARRAY_LEN];
String version_number = "v0.5.3"; String version_number = "v0.5.4";
bool printing = false; bool printing = false;
bool loading = false; bool loading = false;

View File

@@ -63,9 +63,9 @@ void SDInterface::addPacket(uint8_t* buf, uint32_t len) {
} }
} }
void SDInterface::openCapture() { void SDInterface::openCapture(String file_name) {
if (this->supported) if (this->supported)
buffer_obj.open(&SD); buffer_obj.open(&SD, file_name);
} }
void SDInterface::runUpdate() { void SDInterface::runUpdate() {
@@ -162,7 +162,7 @@ void SDInterface::performUpdate(Stream &updateSource, size_t updateSize) {
void SDInterface::main() { void SDInterface::main() {
if ((this->supported) && (this->do_save)) { if ((this->supported) && (this->do_save)) {
//Serial.println("Saving packet..."); //Serial.println("Saving packet...");
buffer_obj.save(&SD); buffer_obj.forceSave(&SD);
} }
} }

View File

@@ -29,7 +29,7 @@ class SDInterface {
bool initSD(); bool initSD();
void addPacket(uint8_t* buf, uint32_t len); void addPacket(uint8_t* buf, uint32_t len);
void openCapture(); void openCapture(String file_name = "");
void runUpdate(); void runUpdate();
void performUpdate(Stream &updateSource, size_t updateSize); void performUpdate(Stream &updateSource, size_t updateSize);
void main(); void main();

View File

@@ -287,7 +287,7 @@ void WiFiScan::RunPacketMonitor(uint8_t scan_mode, uint16_t color)
display_obj.tft.setRotation(1); display_obj.tft.setRotation(1);
display_obj.tft.fillScreen(TFT_BLACK); display_obj.tft.fillScreen(TFT_BLACK);
sd_obj.openCapture(); sd_obj.openCapture("packet_monitor");
#ifdef TFT_SHIELD #ifdef TFT_SHIELD
uint16_t calData[5] = { 391, 3491, 266, 3505, 7 }; // Landscape TFT Shield uint16_t calData[5] = { 391, 3491, 266, 3505, 7 }; // Landscape TFT Shield
@@ -384,6 +384,8 @@ void WiFiScan::RunBeaconSpam(uint8_t scan_mode, uint16_t color)
// Function to start running a beacon scan // Function to start running a beacon scan
void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color) void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
{ {
sd_obj.openCapture("beacon");
display_obj.TOP_FIXED_AREA_2 = 32; display_obj.TOP_FIXED_AREA_2 = 32;
display_obj.tteBar = true; display_obj.tteBar = true;
display_obj.print_delay_1 = 15; display_obj.print_delay_1 = 15;
@@ -411,6 +413,8 @@ void WiFiScan::RunBeaconScan(uint8_t scan_mode, uint16_t color)
void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color) void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
{ {
sd_obj.openCapture("deauth");
display_obj.TOP_FIXED_AREA_2 = 32; display_obj.TOP_FIXED_AREA_2 = 32;
display_obj.tteBar = true; display_obj.tteBar = true;
display_obj.print_delay_1 = 15; display_obj.print_delay_1 = 15;
@@ -440,6 +444,8 @@ void WiFiScan::RunDeauthScan(uint8_t scan_mode, uint16_t color)
// Function for running probe request scan // Function for running probe request scan
void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color) void WiFiScan::RunProbeScan(uint8_t scan_mode, uint16_t color)
{ {
sd_obj.openCapture("probe");
display_obj.TOP_FIXED_AREA_2 = 32; display_obj.TOP_FIXED_AREA_2 = 32;
display_obj.tteBar = true; display_obj.tteBar = true;
display_obj.print_delay_1 = 15; display_obj.print_delay_1 = 15;
@@ -555,6 +561,7 @@ void WiFiScan::beaconSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type
if (type == WIFI_PKT_MGMT) if (type == WIFI_PKT_MGMT)
{ {
len -= 4;
int fctl = ntohs(frameControl->fctl); int fctl = ntohs(frameControl->fctl);
const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)snifferPacket->payload; const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)snifferPacket->payload;
const WifiMgmtHdr *hdr = &ipkt->hdr; const WifiMgmtHdr *hdr = &ipkt->hdr;
@@ -598,6 +605,8 @@ void WiFiScan::beaconSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type
Serial.println(); Serial.println();
sd_obj.addPacket(snifferPacket->payload, len);
} }
} }
} }
@@ -613,6 +622,7 @@ void WiFiScan::deauthSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type
if (type == WIFI_PKT_MGMT) if (type == WIFI_PKT_MGMT)
{ {
len -= 4;
int fctl = ntohs(frameControl->fctl); int fctl = ntohs(frameControl->fctl);
const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)snifferPacket->payload; const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)snifferPacket->payload;
const WifiMgmtHdr *hdr = &ipkt->hdr; const WifiMgmtHdr *hdr = &ipkt->hdr;
@@ -652,6 +662,8 @@ void WiFiScan::deauthSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type
Serial.println(); Serial.println();
sd_obj.addPacket(snifferPacket->payload, len);
} }
} }
} }
@@ -666,6 +678,7 @@ void WiFiScan::probeSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
if (type == WIFI_PKT_MGMT) if (type == WIFI_PKT_MGMT)
{ {
len -= 4;
int fctl = ntohs(frameControl->fctl); int fctl = ntohs(frameControl->fctl);
const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)snifferPacket->payload; const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)snifferPacket->payload;
const WifiMgmtHdr *hdr = &ipkt->hdr; const WifiMgmtHdr *hdr = &ipkt->hdr;
@@ -710,6 +723,8 @@ void WiFiScan::probeSnifferCallback(void* buf, wifi_promiscuous_pkt_type_t type)
} }
Serial.println(); Serial.println();
sd_obj.addPacket(snifferPacket->payload, len);
} }
} }
} }