Usando sed para baixar o ComboFix automaticamente

Usando sed para baixar o ComboFix automaticamente

Estou tentando escrever um script de shell para obter o URL dinâmico onde o ComboFix está localizado emBleepingComputer.com/download/combofix

No entanto, por algum motivo, não consigo fazer com que meu regex corresponda ao link de download de "clique aqui" se o download não funcionar. Usei um testador de regex e ele disse que correspondi ao link, mas não consigo fazê-lo funcionar quando o executo, aparece um resultado vazio. Aqui está todo o meu script:

 #!/bin/bash
 # Download latest ComboFix from BleepingComputer
 wget -O Listing.html "http://www.bleepingcomputer.com/download/combofix/" -nv
 downloadpage=$(sed -ne 's@^.*<a href="\(http://www[.]bleepingcomputer[.]com/download/combofix/dl/[0-9]\+/\)" class="goodurl">.*$@\1@p' Listing.html)
 echo "DL Page: $downloadpage"
 secondpage="$downloadpage"
 wget -O Download.html $secondpage -nv
 file=$(sed -ne 's@^.*<a href="\(http://download[.]bleepingcomputer[.]com/dl/[0-9A-Fa-f]\+/[0-9A-Fa-f]\+/windows/security/anti[-]virus/c/combofix/ComboFix[.]exe\)">.*$@\1@p' Download.html)
 echo "File: $file"
 wget -O "ComboFix.exe" "$file" -nv
 rm Listing.html
 rm Download.html
 mkdir Tools
 mv "ComboFix.exe" "Tools/ComboFix.exe" -f

Os dois primeiros downloads funcionam com sucesso e acabo com: http://www.bleepingcomputer.com/download/combofix/dl/12/

Mas não corresponde ao sed final que me fornecerá o link para download.

O código que deve corresponder é:

<a href="http://download.bleepingcomputer.com/dl/6c497ccbaff8226ec84c97dcdfc3ce9a/5058d931/windows/security/anti-virus/c/combofix/ComboFix.exe">click here</a>

SOLUÇÃO:

Para quem estiver interessado, o código final que funcionou foi:

#!/bin/bash
# Download latest ComboFix from BleepingComputer
wget -O Download.html "http://www.bleepingcomputer.com/download/combofix/12" -nv
file=$(sed -ne 's@^.*<a href=\x27\(http://download[.]bleepingcomputer[.]com/dl/[0-9A-Fa-f]\+/[0-9A-Fa-f]\+/windows/security/anti[-]virus/c/combofix/ComboFix[.]exe\)\x27>.*$@\1@p' Download.html)
echo "File URL: $file"
wget -OSN "ComboFix.exe" "$file" -nv

Responder1

Engraçado: acabei de irhttp://www.bleepingcomputer.com/download/combofix/dl/12/e encontrei

<ahref='http://download.bleepingcomputer.com/dl/587c6038..../..../ComboFix.exe'>clique aqui</a>.

ou seja, o URL é delimitado por aspas simples (') em vez de aspas duplas (") (que é o que seu sedcomando está procurando).

Responder2

Não há necessidade de baixar a primeira página, pois a segunda página é estática. Será sempre:

http://www.bleepingcomputer.com/download/combofix/dl/12/

Também é fortemente sugerido que você use o-Nsinalizador no wget para verificar os carimbos de data e hora. Isso só baixará o ComboFix se for mais recente que o do seu computador.

Certifique-se também de que seu script seja executado apenas uma ou duas vezes por dia. Não há necessidade de executá-lo mais do que isso.

Ao limitar as solicitações e usar o -N, você evitará ser automaticamente banido por nossos scripts.

Obrigado

informação relacionada