uaf.git

uaf

~
git clone https://github.com/debuman/uaf.git

ap_scanner/cli.py (2171B)

      1 """Command-line argument parsing."""
      2 
      3 import argparse
      4 
      5 from ap_scanner import __version__
      6 
      7 
      8 def parse_args(argv: list[str] | None = None) -> argparse.Namespace:
      9     """Parse command-line arguments."""
     10     parser = argparse.ArgumentParser(
     11         prog="uaf",
     12         description="UAF (Ultimate AP Finder) - wireless AP scanner for PCI-DSS auditing",
     13     )
     14     parser.add_argument(
     15         "-V", "--version",
     16         action="version",
     17         version=f"%(prog)s {__version__}",
     18     )
     19     parser.add_argument(
     20         "-i", "--interface",
     21         type=str,
     22         default=None,
     23         help="Wireless interface to use (default: auto-detect)",
     24     )
     25     parser.add_argument(
     26         "-c", "--channels",
     27         type=str,
     28         default=None,
     29         help="Channels to scan, e.g. '1,6,11' or '36-48' (default: all)",
     30     )
     31     parser.add_argument(
     32         "-b", "--band",
     33         type=str,
     34         choices=["2.4", "5", "6", "all"],
     35         default="all",
     36         help="Band filter: 2.4, 5, 6 (6GHz), or all (default: all)",
     37     )
     38     parser.add_argument(
     39         "-w", "--write",
     40         type=str,
     41         default=None,
     42         help="CSV output file path (auto-saves on exit)",
     43     )
     44     parser.add_argument(
     45         "--sort",
     46         type=str,
     47         choices=["rssi", "channel", "essid", "enc"],
     48         default="rssi",
     49         help="Sort by field (default: rssi)",
     50     )
     51     parser.add_argument(
     52         "--no-color",
     53         action="store_true",
     54         default=False,
     55         help="Disable colored output",
     56     )
     57     parser.add_argument(
     58         "-v", "--verbose",
     59         action="store_true",
     60         default=False,
     61         help="Enable verbose (DEBUG level) logging",
     62     )
     63     parser.add_argument(
     64         "--log-file",
     65         type=str,
     66         default=None,
     67         help="Write log output to file",
     68     )
     69     parser.add_argument(
     70         "--dwell",
     71         type=float,
     72         default=None,
     73         help="Channel dwell time in seconds (default: 0.5)",
     74     )
     75     parser.add_argument(
     76         "--config",
     77         type=str,
     78         default=None,
     79         help="Path to config file (default: ~/.config/ap-scanner/config.ini)",
     80     )
     81     return parser.parse_args(argv)