![리디렉션된 각 표준 출력에 대한 프로세스 생성](https://linux55.com/image/105026/%EB%A6%AC%EB%94%94%EB%A0%89%EC%85%98%EB%90%9C%20%EA%B0%81%20%ED%91%9C%EC%A4%80%20%EC%B6%9C%EB%A0%A5%EC%97%90%20%EB%8C%80%ED%95%9C%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%20%EC%83%9D%EC%84%B1.png)
그래서 포트 스캐너(masscan)가 있고 그 출력을 생성된 각 IP:포트 조합이 특정 웹 서비스를 제공하는지 확인하는 명령줄로 출력을 리디렉션하고 싶습니다.
따라서 다음과 같이 진행될 수 있습니다.
masscan 0.0.0.0/0 -p8080 --max-rate 300000 | ./scanner.py
scanner.py
그러나 IP 범위가 큰 경우 하나씩 처리해야 하므로 속도가 느려집니다 .
이 작업을 어떻게 병렬로 수행할 수 있나요? 즉, 각 IP를 개별적으로 리디렉션하고 stdin으로의 리디렉션을 병렬로 처리하는 프로세스를 생성하여 스캔 속도를 더 빠르게 만듭니다.
답변1
난 당신 이 그것 으로 뭔가 를 할 수 있을 거라 생각 했어요 xargs
. 예를 들어 다음과 같습니다.
masscan 0.0.0.0/0 -p8080 --max-rate 300000 | \
xargs -L1 -I+ -P200 sh -c "echo '+' | ./scanner.py"
./scanner.py
이는 각각 의 데이터를 처리하는 최대 200개의 병렬 프로그램을 실행합니다 masscan
.