nmap command help required

Please can someone help me understand the first line arguements perpose and use ?

ports=$(nmap -p- --min-rate=1000 -T4 10.10.10.27 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)

-p- = ?
--min-rate=1000 = ?
-T4 = ?
| grep ^[0-9] = ?
cut -d '/' -f 1 = ?
tr '\n' ',' = ?
| sed s/,$//) = ?

Help explanation would be apprecaited.

Comments

  • @khalmxj said:

    Please can someone help me understand the first line arguements perpose and use ?

    This is (IMHO) not a great way to use nmap but YMMV.

    ports=$(nmap -p- --min-rate=1000 -T4 10.10.10.27 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)

    -p- = ?

    This is telling nmap to scan ports 0 - 65535.

    --min-rate=1000 = ?

    Send at least 1000 packets per second.

    -T4 = ?

    Use the aggressive speed template in nmap.

    | grep ^[0-9] = ?

    This pipes (|) the output to grep and uses a regular expression to filter on lines starting with a number.

    cut -d '/' -f 1 = ?

    This pipes the output to cut which sets a delimiter of / and selects the first field.

    tr '\n' ',' = ?

    This pipes the output to tr to remove line breaks

    | sed s/,$//) = ?

    This pipes the output to sed which changes commas the at the end of a line to /

    Help explanation would be apprecaited.

    For more information, you can try:
    man nmap
    man grep
    man tr
    man sed

    or https://linux.die.net/man/1/nmap

    Note: I am not going to be available much in September.

    TazWake

    Note: https://www.nohello.com/

    Happy to help people but PLEASE explain your problem in as much detail as possible! If you say vague things like "It's not working", I cant help. This isn't Twitter so my DMs are always open.

  • Thanks for a very clear direction and help.

  • @khalmxj said:

    Thanks for a very clear direction and help.

    Welcome.

    Really, I'd suggest using nmap as a single line rather than sending it to the $ports variable and calling it a second time, but it depends on what automation you have in place.

    Personally, I'd use:

    nmap -Pn -sC -sV -oA all_tcp -T4 --min-rate=1000 -vvvvvvv --reason -p- IPADDRESSGOESHERE on HTB

    Note: I am not going to be available much in September.

    TazWake

    Note: https://www.nohello.com/

    Happy to help people but PLEASE explain your problem in as much detail as possible! If you say vague things like "It's not working", I cant help. This isn't Twitter so my DMs are always open.

  • Thanks for that, i'm kinda new to linux and was hoping to find just that.
    1 more question though: why the "s" in "sed s/,$//" ? i know the comma and the slash are escaped with the "/", $ is end of line, but still can't figure out what the "s" is for. is it just to prevent it from reading the first "/" as an argument? like it could in fact be any letter?

  • @Popi said:

    Thanks for that, i'm kinda new to linux and was hoping to find just that.
    1 more question though: why the "s" in "sed s/,$//" ?

    Because you are using the search and replace functionality.

    You can find out more about sed with examples here: https://linuxconfig.org/learning-linux-commands-sed

    i know the comma and the slash are escaped with the "/", $ is end of line,

    Well, not really here. An escape in bash is normally \.

    Doing a replace with sed is basically the format:

    sed 's/search/replace/g'

    So they aren't escapes in this context. It is search for , at the end of a line and replace with /.

    but still can't figure out what the "s" is for. is it just to prevent it from reading the first "/" as an argument? like it could in fact be any letter?

    No.

    Note: I am not going to be available much in September.

    TazWake

    Note: https://www.nohello.com/

    Happy to help people but PLEASE explain your problem in as much detail as possible! If you say vague things like "It's not working", I cant help. This isn't Twitter so my DMs are always open.

  • edited August 2

    @TazWake Thanks a lot for the clarification. It helps.
    Much appreciated!

Sign In to comment.