Portál AbcLinuxu, 27. října 2025 17:43
nmap -sS -p80 -Pn -n -T3 --max-retries 0 -oG - -iR 0 | grep --line-buffered "80/open" | cut -d " " -f 2dělá přesně co potřebuju, na terminál to sází ip adresy. ale když ten stejný výstup zkusím uložit
nmap -sS -p80 -Pn -n -T3 --max-retries 0 -oG - -iR 0 | grep --line-buffered "80/open" | cut -d " " -f 2 >> vystup.txtsoubor "vystup.txt" to vytvoří ale nic se do něho nezapisuje. Variace na téma s awk:
nmap -sS -p80 -Pn -n -T3 --max-retries 0 -oG - -iR 0 | awk '/80\/open/{print $2}' >> vystup.txt
se chová úplně stejně :(
Jinak redirecty normálně fungujou. Kdyz napíšu třeba:
echo "kocka leze dirou" >>text.txt
tak se to přesměruje a uloží jak má.
S bashem se teprv začínám seznamovat tak omluvte prosím takovy lama dotaz :)
nmap ... 2> vystup.txt
... 2>> vystup.txt
$ nmap -sS -p80 -Pn -n -T3 --max-retries 0 -oG - -iR 0 | grep --line-buffered "80/open" | cut -d " " -f 2 2>> vystup.txtVytvoří to prázdný soubor "vystup.txt" a ip adresy to vypisuje na terminál :/
nmap -sS -p80 -Pn -n -T3 --max-retries 0 -oG - -iR 0 2>> error.txttoto zas udělá soubor "error.txt" ale prázdný a normální výstup to zas píše do terminálu. Nicméně jsem se posunul o kousek dál.
nmap -sS -p80 -Pn -n -T3 --max-retries 0 -oG - -iR 0 | grep --line-buffered "80/open" >> vystup.txtbez toho ořezávání cutem to konečne začalo zapisovat do souboru, ale je tam ten bordýlek okolo. Kďyž to vypnu a ručně zadám:
cut -d " " -f 2 < vystup.txt >> vystup2.txttak se to vyfiltruje do souboru "vystup2.txt". Jenom mě štve že se to takto musí dělat na 2x. Nešlo by to nějak naroubovat do jednoho příkazu?
@echo off
title %~nx0
set nmap=C:\apps2\nmap-7.01\nmap.exe
set /p port=port:
:start
del /q tempfile.txt 2>nul
%nmap% -sS -p%port% -Pn -n --source-port 80 -T 3 --max-retries 0 -oG - -iR 1000 ^
| find "%port%/open" ^
| for /f "tokens=2" %%a in ('more') do @echo %%a & @echo %%a >> tempfile.txt
timeout /t 1 /nobreak > nul
if exist tempfile.txt for /f %%b in (tempfile.txt) do (
find "%%b" < hosts_%port%.txt > nul || @echo %%b >> hosts_%port%.txt)
goto start
Není to bůhvíco, ale funguje to na windows i bez cygwina. Časem to zkusím nějak přepsat do bashe až se s ním trochu naučím.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.