1

Я пытаюсь написать сценарий bash, который будет принимать идентификатор порта, полученный из команды nmap, а затем использовать эти порты для отправки файла с помощью netcat. Таким образом, я получил некоторые базовые знания, используя эту ссылку,

Как я могу использовать скрипт bash для запуска nmap и захвата как IP, так и имени хоста?

и страницу руководства nmap. В результате я придумал следующий скрипт:

#! /bin/bash

FILE="input.txt"
sudo nmap -p1-20000 -sS 192.168.122.35 -oG - | awk '$4=="Status:" && $5=="Up" {cat $FILE | nc $2 $6}'

Так что проблема, с которой я столкнулся, связана с 6 долларами. Предполагается, что это номера портов, полученные из команды nmap, но на самом деле это вообще ничто. Мне было интересно, сможете ли вы, ребята, помочь мне получить идентификаторы портов.

1 ответ1

0

Предполагая, что вы пытаетесь отправить файл на каждый открытый порт на хосте, вот скрипт, который должен работать для вас:

#!/bin/bash

HOST=192.168.122.35
FILE="input.txt"

nmap --open -n -p1-20000 $HOST | sed -rn 's/^([0-9]+)\/tcp.*open.*/\1/p' | 
    while read port; do nc $HOST $port < "$FILE"; done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .