
ComboFix가 있는 동적 URL을 가져오는 쉘 스크립트를 작성하려고 합니다.BleepingComputer.com/download/combofix
그러나 어떤 이유로 다운로드가 작동하지 않으면 "여기를 클릭"의 다운로드 링크와 일치하는 정규식을 얻을 수 없는 것 같습니다. 정규식 테스터를 사용했는데 링크와 일치한다고 말했지만 실행할 때 작동하지 않는 것 같고 빈 결과가 나타납니다. 내 전체 스크립트는 다음과 같습니다.
#!/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
처음 두 다운로드는 성공적으로 작동하며 결과는 다음과 같습니다. http://www.bleepingcomputer.com/download/combofix/dl/12/
그러나 다운로드 링크를 제공하는 최종 sed와 일치하지 않습니다.
일치해야 하는 코드는 다음과 같습니다.
<a href="http://download.bleepingcomputer.com/dl/6c497ccbaff8226ec84c97dcdfc3ce9a/5058d931/windows/security/anti-virus/c/combofix/ComboFix.exe">click here</a>
해결책:
관심 있는 사람을 위해 작동한 최종 코드는 다음과 같습니다.
#!/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
답변1
재밌네요: 방금 갔었어요http://www.bleepingcomputer.com/download/combofix/dl/12/그리고 발견
<a href='http://download.bleepingcomputer.com/dl/587c6038..../..../ComboFix.exe'>여기를 클릭하세요</a>.
즉, URL은 작은따옴표(') 대신 큰따옴표("sed
) (귀하의 명령이 찾고 있는 것입니다 ).
답변2
두 번째 페이지는 정적이므로 첫 번째 페이지를 다운로드할 필요가 없습니다. 항상 다음과 같습니다.
http://www.bleepingcomputer.com/download/combofix/dl/12/
또한 다음을 사용하는 것이 좋습니다.-N타임스탬프를 확인하려면 wget에 플래그를 지정하세요. 컴퓨터에 있는 것보다 최신인 경우에만 ComboFix를 다운로드합니다.
또한 스크립트가 하루에 한두 번만 실행되는지 확인하세요. 그 이상 실행할 필요는 없습니다.
요청을 제한하고 -N을 사용하면 스크립트에 의해 자동으로 금지되는 것을 방지할 수 있습니다.
감사해요