Skip to content

ENH: Allow freezing/halting of capture, to have steady data to explore #551

Closed

Description

@corneliusroemer

Is there an existing issue for this?

  • I have searched the existing issues.

Describe the solution you'd like

I love sniffnet, great tool!

One thing I'm missing is the ability to halt/freeze/"stop the world" to explore what's been captured in detail.

Right now, the data refreshes every second, making it hard to read/explore. I've looked for such a feature in the docs/help but couldn't find anything.

Is your feature request related to a problem?

I'm always frustrated when I try to read a table and the table rerenders the second I move to another column.

Try staying with the "same" here (semantically the same, not at the same height):
2024-07-04 13 31 43

I'm surprised no one else has had this problem yet - I must have missed something obvious, like a pause button, but couldn't find anything.

Activity

  1. GyulyVGC commented on Jul 4, 2024

    @GyulyVGC
    Owner

    Thanks for your suggestion.
    Yes, you're actually the first one to have brought up this kind of concern and there is not a real solution as of now.

    However, as you may have noticed, you can sort the table by packets or bytes exchanged and that will give you a much more stable view.
    Let me know if this sounds as a possible acceptable workaround.

    In case the table isn't sorted, the default behaviour is to show the most recent entries, so it doesn't make much sense to stop it in my opinion; freezing the capture would also be counterintuitive I think because it could introduce some misunderstandings about the status of the capture: the capture is running while the view is freezed.

  2. GyulyVGC commented on Jul 4, 2024

    @GyulyVGC
    Owner

    After better thinking about this one, I came to the following conclusions:

    1. the table can be sorted by ascending / descending number of packets / bytes in case you want a more steady view
    2. If you want to have steady data to explore you can always export the capture as a PCAP file; Sniffnet already supports exporting such kind of files and importing them is planned for the future (Ability to read PCAP files #283)
    3. freezing the view while the capture is running breaks things because in this case we'd have inconsistent states of what's captured vs what's displayed
    4. freezing both the view & the capture is the only reasonable solution I can think of

    This being said, I think that points 1) and 2) make it clear that there are other solutions to have steady data to explore.
    However, being able to stop and later resume the capture could potentially be of interest for other scenarios maybe?
    Right now, to achieve this the only workaround is to stop the current analysis and later restart another analysis still from the same network adapter.
    Maybe we should understand if there's some case in which users want to pause the ongoing analysis without restarting it.

  3. corneliusroemer commented on Jul 4, 2024

    @corneliusroemer
    Author

    Thanks for thinking this through!

    My idea was to halt the entire capture. Then I can inspect whatever I've captured. So that's version 4 in your list. That's perfectly good!

    While there might be workarounds, i.e. using a different program to view what was captured, isn't the whole idea of sniffnet to allow convenient viewing right there 😀

    I've discovered the sorting workaround as well, but it's a bit annoying still and imperfect.

  4. DerpaholicRex commented on Oct 7, 2024

    @DerpaholicRex

    To give an example of why this would be wanted.

    I've just started playing around with this tool, and ran into the scenario where i wished to favorite a few connections

    However, in the "live" data, this was extremely hard to do as things shifted around as you try to click the star, causing the wrong line to be marked. I would agree that pausing only makes sense with version 4 you mention.

    While i figured out the same sort solution, a pause button may be more intuitive in cases like this.

    In general i think your correct that a pause is basically a stop and restart from the same network adaptor.

    And this means that the main benefit desired from the "pause" seems to be for the previous run data to still be displayed after the stop. As apposed to current behavior, where stopping returns to adaptor selection screen, and data needs to be viewed outside the tool

  5. GyulyVGC commented on Oct 7, 2024

    @GyulyVGC
    Owner

    Thank you @erieflin for your feedback, really appreciated!

  6. self-assigned this
    on Jun 3, 2025
  7. added this to the v1.4.1 milestone on Jun 28, 2025
  8. modified the milestones: v1.4.1, v1.4.2 on Aug 14, 2025
  9. dejang commented on Sep 12, 2025

    @dejang

    I'm curious to give this one a try @GyulyVGC, if you're ok with it. If I understand correctly we'd like to pause capturing (which is the same as stopping) but we don't want to clear the results as with "Quit analysis". On resume we would start capturing again and append the incoming data to existing collection.

    I think I'd only need to know where the pause/resume button needs to be placed and I could provide a rough implementation we can try out within a few days.

    Looking at this page I think I have a few ideas as a starting point to spark some inspiration:

    1. in the "Filter by host panel", we could repurpose the entire panel to be a little less targeted at filtering and more about controlling results. We'd add a slider with a label to control the run. This one is probably the least of my favorite.
    2. we could play with the Sniffnet logo in the topbar to try and animate it while it's running using a pulsing effect (fade out/fade in repeatedly). Clicking it stops it from pulsating and pauses the run. This option is nice because it doesn't introduce new UI elements but it makes one stale UI element (the logo) have a functional purpose. Animations are possible in iced v0.13 in different ways, either trough a custom widget that requests a redraw on every change of the widget's state or using the Subscription API. Both require redrawing the UI often so there's that tradeoff.
    3. we could make the bottom bar of the table an actual footer toolbar (no vertical real estate lost) and we gain more horizontal real estate allowing us to spread the elements (previous page, next page with pagination labels) in it. We can now introduce a pause/play button in the middle of it.
    4. we can add a new button next to "Quit Analysis" for Pause/Resume Analysis. This option is just alright, could be a little bit of a long trip with your mouse if you're on a big screen but it's simple and it does the job.

    In terms of effort, the most complex one but also the flashiest is the pulsating logo, options 2. The toolbar footer (3) is after because of having to touch a bigger part of the layout but not terrible and I like it probably just as much as option 2. Then there's option 1 and finally option 4.

    These are just a few ideas, curious to know your thoughts.

  10. GyulyVGC commented on Sep 12, 2025

    @GyulyVGC
    Owner

    Hey @dejang thanks for your interest and proposals, but I've self-assigned this issue to me since I've already some plans for it and I want to tackle it personally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature, request, or improvement

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions