33 lines
2.0 KiB
Python
33 lines
2.0 KiB
Python
def setup_sniff_tcpdump_parser(parser_sniff):
|
|
# arguments which will be passed to tcpdump
|
|
parser_sniff_tcpdump = parser_sniff.add_argument_group('tcpdump arguments')
|
|
# TODO: tcpdump_parser.add_argument('-c', '--count', re)
|
|
parser_sniff_tcpdump.add_argument("-a", "--ip-address=", help="IP address of the device to sniff", dest="device_ip")
|
|
parser_sniff_tcpdump.add_argument("-i", "--interface=", help="Interface of the capture device.", dest="capture_interface",default="")
|
|
parser_sniff_tcpdump.add_argument("-I", "--monitor-mode", help="Put interface into monitor mode",
|
|
action="store_true")
|
|
parser_sniff_tcpdump.add_argument("-n", help="Deactivate name resolution. Option is set by default.",
|
|
action="store_true")
|
|
parser_sniff_tcpdump.add_argument("-#", "--number",
|
|
help="Print packet number at beginning of line. Set by default.",
|
|
action="store_true")
|
|
parser_sniff_tcpdump.add_argument("-e", help="Print link layer headers. Option is set by default.",
|
|
action="store_true")
|
|
parser_sniff_tcpdump.add_argument("-t", action="count", default=0,
|
|
help="Please see tcpdump manual for details. Unused by default.")
|
|
|
|
|
|
def setup_sniff_parser(subparsers):
|
|
# create parser for "sniff" command
|
|
parser_sniff = subparsers.add_parser("sniff", help="Start tcpdump capture.")
|
|
setup_sniff_tcpdump_parser(parser_sniff)
|
|
setup_pcap_filter_parser(parser_sniff)
|
|
cap_size_group = parser_sniff.add_mutually_exclusive_group(required=True)
|
|
cap_size_group.add_argument("-c", "--count", type=int, help="Number of packets to capture.", default=0)
|
|
cap_size_group.add_argument("--mins", type=int, help="Time in minutes to capture.", default=60)
|
|
|
|
|
|
def setup_pcap_filter_parser(parser_sniff):
|
|
parser_pcap_filter = parser_sniff.add_argument_parser("pcap-filter expression")
|
|
pass
|