Skip to content

Support for port range input like 1-22,661-669,8888 for both CLI and library usage #780

@Autumn-27

Description

@Autumn-27

Hi, thanks for the great work on RustScan. I’m referring to the previous pull requests #661 and #761. I’d like to reopen the discussion around supporting input like 1-22,661-669,8888 for port ranges.

In practice, when using RustScan either via CLI or as a library, it's quite common to specify ports using a format like 1-22,661-669,8888, especially when scanning common top ports. For example, a typical top 100 or top 1000 port list may include ranges and individual ports like:

21,22,23,25,53,67,68,80,110,111,139,143,161,389,443,445,465,512,513,514,873, 993,995,1080,1000,1352,1433,1521,1723,2049,2181,2375,3306,3389,4848,5000, 5001,5432,5900,5632,5900,5989,6379,6666,7001,7002,8000,8001,8009,8010,8069, 8080,8083,8086,8081,8088,8089,8443,8888,9900,9200,9300,9999,10621,11211, 27017,27018,66,81,457,1100,1241,1434,1944,2301,3128,4000,4001,4002,4100, 5800,5801,5802,6346,6347,30821,1090,1098,1099,4444,11099,47001,47002,10999, 7000-7004,8000-8003,9000-9003,9503,7070,7071,45000,45001,8686,9012,50500, 11111,4786,5555,5556,8880,8983,8383,4990,8500,6066

When this list includes ranges (like 7000-7004), it's not currently possible to pass them directly to RustScan in a user-friendly way. Users must extract and separate the ranges manually, which is especially cumbersome with larger lists like top 1000.


Why this matters

  • Many common port dictionaries or scan profiles use the 1-22,80,443,8080-8090 style.
  • When using RustScan programmatically, parsing and splitting these manually reduces efficiency and increases code complexity.
  • Adding support for this notation would greatly improve usability and flexibility for both CLI users and developers using the RustScan crate.

Would it be possible to natively support this range notation?

Thanks again!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions