Portál AbcLinuxu, 6. května 2025 23:15
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.txtse 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 startNení 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.