Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Sniffer performance issue due to limits of Scapy library #13

Open
1 task done
AleksaMCode opened this issue Dec 18, 2023 · 1 comment
Open
1 task done
Assignees
Labels
bug Something isn't working

Comments

@AleksaMCode
Copy link
Owner

AleksaMCode commented Dec 18, 2023

Is there an existing issue for this?

  • I have searched the existing issues

Description

When capturing Probe Requests with both, the PNLS and Airodump-ng, I've noticed that not all SSIDs are displayed on PNLS web UI.

System information

  1. Kali Linux
  2. 2023.3
  3. Raspberry Pi 4

Actual Behavior

Some of the packets are never captured in moments of heavy packet loads.

Expected Behavior

To capture all of the packets.

Steps To Reproduce

Run the PNLS normally.

Anything else?

Scapy doesn't handle heavy loads very well because it processes packets too slowly. The load could be decreased, if you make the OS filter the packets instead of Scapy, which can be done when using the filter= argument.

Here are some useful links:

@AleksaMCode AleksaMCode added the bug Something isn't working label Dec 18, 2023
@AleksaMCode AleksaMCode self-assigned this Dec 18, 2023
@AleksaMCode AleksaMCode moved this to Todo in PNLS Board Dec 18, 2023
@AleksaMCode
Copy link
Owner Author

AleksaMCode commented Dec 22, 2023

Also, in addition to looking into Scapy, the parser function could be updated.

  • A Deque could be added as a structure where data from the parser will be temporary stored instead of sending it directly through a socket.
    web_socket.send(
    json.dumps(
    {
    "ssid": ssid,
    "timestamp": datetime.utcfromtimestamp(
    float(packet.time)
    ).strftime(TIMESTAMP_FORMAT)[:-3],
    }
    )
    )
  • Another Thread will then read data from the shared Deque and send it over the publishing socket connection.

@AleksaMCode AleksaMCode moved this from Todo to Wishlist in PNLS Board Sep 22, 2024
@AleksaMCode AleksaMCode moved this from Wishlist to Todo in PNLS Board Sep 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Todo
Development

No branches or pull requests

1 participant