[완료] 펄에서 Net::Pcap 모듈을 쓰려고 합니다.
글쓴이: mandugukbap / 작성시간: 목, 2010/05/06 - 12:07오전
펄에서 Pcap 모듈을 쓰려고 합니다.
Net::Pcap::open_offline을 통해 파일을 오픈하는 방법말고 입력 Stream을 통해 입력 받는 방법이 없을까요?
이렇게 하려는 이유는 데이터가 여러개로 나누어져 있고 기본적으로 pcap 포맷이 아닌 파일을 pcap파일로 변환하면서 입력 받기 위해서입니다.
즉, 아래와 같이 파일 오픈을 하는 코드를
my $pcapPayload = Net::Pcap::open_offline($pcapFile,\$error) while (my $pkt = Net::Pcap::next($pcapPayload, \%pcapHeader)) { .... }
아래와 비슷한 방법으로 바꾸었으면 합니다.
while (my $pkt = Net::Pcap::get_packet_from_stream(STDIN, \%pcapHeader)) { .... }
방법을 알려 주시면 감사 하겠습니다.
Forums:
이게 의외로 어려운
이게 의외로 어려운 문젠가 보군요.
이름있는 파이프를 쓰는 것은 어떨까요? :)
조건이 그러하다면...
- 데이터가 여러개로 나누어져 있고
- 파일을 변환하면서 입력 받기 위해
그렇다면 파일을 이름있는 파이프로 만들어서 쓰는 것은 어떨까요?
리눅스나 유닉스 계열의 시스템이라면
위와 같은 명령으로 파이프 파일을 생성하시고 스크립트에서는 해당 파이프 파일을 열거나 인자로 보내면 될 것 같습니다.
물론 생성한 파이프에는 쉘이나 다른 프로그램을 이용해서 파일을 다음처럼 보내주면 됩니다.
----
use perl;
Keedi Kim
----
use perl;
Keedi Kim
파일을 /dev/stdin으로 여시고 파이프로 보내면 됩니다.
pcap.pl
.
.
01.pcap이라는 패킷 덤프 파일이 있다면
위에서 cat 01.pcap 부분만 데이터를 나름대로 가공 후 덤프포멧으로 뿌리는 프로그램으로 교체하면 되겠죠?
두 분의 꿀같은 댓글
두 분의 꿀같은 댓글 감사 드립니다.
아직 해 보진 않았지만 벌써 문제가 해결된 것이 느껴 집니다.
다시 한 번 정말 감사 드립니다.
댓글 달기