Chromedriver로 Selenium을 테스트 한 결과 자동화가 전혀 없어도 일부 페이지에서 Selenium을 사용하고 있음을 감지 할 수 있습니다. Selenium과 Xephyr을 통해 크롬을 사용하여 수동으로 탐색하는 경우에도 의심스러운 활동이 감지되었다는 페이지가 종종 나타납니다. 사용자 에이전트와 브라우저 지문을 확인했으며 모두 일반 크롬 브라우저와 동일합니다.
정상적인 크롬 으로이 사이트를 탐색하면 모든 것이 잘 작동하지만 Selenium을 사용하는 순간 감지됩니다.
이론적으로 chromedriver와 chrome은 문자 그대로 모든 웹 서버와 동일하게 보이지만 어떻게 든 감지 할 수 있습니다.
테스트 코드를 원하면 다음을 시도하십시오.
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=1, size=(1600, 902))
display.start()
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--profile-directory=Default')
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--disable-plugins-discovery");
chrome_options.add_argument("--start-maximized")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.delete_all_cookies()
driver.set_window_size(800,800)
driver.set_window_position(0,0)
print 'arguments done'
driver.get('http://stubhub.com')
stubhub를 탐색하면 하나 또는 두 개의 요청 내에서 리디렉션되고 '차단'됩니다. 나는 이것을 조사하고 있으며 사용자가 셀레늄을 사용하고 있음을 어떻게 알 수 있는지 알 수 없습니다.
그들은 그걸 어떻게 햇어?
업데이트 편집 :
Firefox에 Selenium IDE 플러그인을 설치했으며 추가 플러그인만으로 일반 firefox 브라우저에서 stubhub.com에 갈 때 금지되었습니다.
편집하다:
Fiddler를 사용하여주고받는 HTTP 요청을 볼 때 '가짜 브라우저'요청이 응답 헤더에 '노 캐시 없음'을 가지고 있음을 알았습니다.
편집하다:
Javascript의 Selenium Webdriver 페이지에 있다는 것을 감지하는 방법 이 있습니까? 웹 드라이버를 사용할 때 감지 할 수있는 방법이 없어야합니다. 그러나이 증거는 그렇지 않다는 것을 암시합니다.
편집하다:
이 사이트는 서버에 지문을 업로드하지만 크롬을 사용할 때 셀레늄의 지문이 지문과 동일하다는 것을 확인했습니다.
편집하다:
이것은 서버로 보내는 지문 페이로드 중 하나입니다.
{"appName":"Netscape","platform":"Linuxx86_64","cookies":1,"syslang":"en-US","userlang":"en-US","cpu":"","productSub":"20030107","setTimeout":1,"setInterval":1,"plugins":{"0":"ChromePDFViewer","1":"ShockwaveFlash","2":"WidevineContentDecryptionModule","3":"NativeClient","4":"ChromePDFViewer"},"mimeTypes":{"0":"application/pdf","1":"ShockwaveFlashapplication/x-shockwave-flash","2":"FutureSplashPlayerapplication/futuresplash","3":"WidevineContentDecryptionModuleapplication/x-ppapi-widevine-cdm","4":"NativeClientExecutableapplication/x-nacl","5":"PortableNativeClientExecutableapplication/x-pnacl","6":"PortableDocumentFormatapplication/x-google-chrome-pdf"},"screen":{"width":1600,"height":900,"colorDepth":24},"fonts":{"0":"monospace","1":"DejaVuSerif","2":"Georgia","3":"DejaVuSans","4":"TrebuchetMS","5":"Verdana","6":"AndaleMono","7":"DejaVuSansMono","8":"LiberationMono","9":"NimbusMonoL","10":"CourierNew","11":"Courier"}}
셀레늄과 크롬에서 동일
편집하다:
VPN은 일회용으로 작동하지만 첫 페이지를로드 한 후에 감지됩니다. 분명히 셀레늄을 감지하기 위해 일부 자바 스크립트가 실행 중입니다.
distill
봇 탐지 기술 및 사용하여 콘텐츠 제공 akamaitechnologies.com
diffrent IPS 예에서 CDN을 95.100.59.245
, 104.70.243.66
,23.202.161.241