과부하 테스트를 위해서 어제 펄 스크립트를 작성하여 실행하고 잤더니 결과는 대만족입니다.
소스포트를 1씩 늘려가면서 오펜스를 소스포트 기반으로 뜨게 만들었습니다.
use strict;
use warnings;
my $srcpt;
my $content;
for(my $i = 0; $i < 500000; $i++) {
open (TEXT, "+<offense500k.log");
chomp($content = <TEXT>);
if($content =~ /srcport=(\d+)/){
$srcpt = $1 + 1;
};
$content =~ s/srcport=(\d+)/srcport=$srcpt/;
seek(TEXT,0,0);
print "TEST log: ", $content, "!\n";
print TEXT $content;
close TEXT;
system '/opt/qradar/bin/logrun.pl -u 192.168.0.10 -f offense500k.log 1';
print "Success number", $i, "!\n";
};
일단 50만개를 만들어줄거라서 for문을 열었습니다.
open 함수로 샘플 로그파일을 입출력모드로 열고
샘플 로그파일이 한줄짜리라서 chomp로 변수 $content에 할당했습니다.
로그파일에 있는 소스포트를 받기위해 if문을 작성하여 변수 $srcpt에 1을 더해 저장했습니다.
$content 내용에서 srcport를 정규식으로 찾은 후, 아까 if문에서 1을 더한 $srcpt로 치환했습니다.
seek 함수는 입력 포인트를 처음으로 이동하게 하였습니다. (맨 끝에 추가가 아닌 덮어쓰기를 위해서)
로그가 제대로 바뀌었는지 터미널에 바뀐 로그를 출력하고
print TEXT $content; 에서 샘플 로그 파일에 바뀐 로그를 덮어씌우게 됩니다.
close로 파일을 닫고
system으로 QRadar의 logrun.pl 명령어를 작성해주면 끝입니다.
펄 스크립트는 처음 써봤는데 요즘은 덜 쓰는 언어이지만 간단한 명령을 실행할때 편합니다.
'일 > IBM QRadar' 카테고리의 다른 글
IBM QRadar 자동으로 오펜스 닫기(Auto closing offenses) Perl Script (0) | 2021.10.08 |
---|---|
QRadar network_hierachy perl script (0) | 2021.10.07 |
QRadar 설치 전 주의할점 (0) | 2021.08.11 |
IBM QRadar Structure (0) | 2021.08.06 |
안녕하세요? 초보 QRadar 엔지니어입니다. (0) | 2021.07.23 |