ipftest(1)

ipftest - 임의의 입력에 대해서 패킷 필터 룰을 테스트한다

서식
ipftest [ -vbdPSTEHX ] [ -I interface ] -r <filename> [ -i <filename> ]

해설

ipftest 는, 필터 룰 집합을 있어야 할 장소에 두지 않고 테스트할 수 있도록(듯이) 한다 위해(때문에) 제공되고 있습니다. 이것은 동작해, 필터 룰의 효과를 테스트합니다. 안전한 IP 환경을 제공 하기에 즈음해, 혼란을 최소로 할 수 있으면 좋다고 하는 것입니다.

ipftest 는, ipf 의 표준 룰 세트를 해석해, 이것을 입력에 대해서 적용해, 결과적으로 출력을 돌려줍니다. 그러나, 필터를 통과한 패킷에 대해서 ipftest 가 돌려주는 것은, 다음의 3 개의 값 중 1 개입니다: pass, block, nomatch. 이것은, 패킷이 필터 룰 세트를 통과하기에 즈음해 무엇이 발생하고 있는지에 관계되어, 오퍼레이터의 이해를 돕는 것을 의도하고 있습니다.

-S, -T, -E 의 어느 옵션도 사용하지 않는 경우, ipftest 는 고유의 텍스트 입력 포맷을 사용해, 「의사」IP 패킷을 생성합니다. 사용하는 포맷은 다음과 같습니다:
		"in"|"out" "on" if ["tcp"|"udp"|"icmp"]
			srchost[, srcport] dsthost[, destport] [FSRPAU]

어느 인터페이스 (if)에서, 들어가는 ("in") 또는 나오는 ("out") 패킷을 생성할 수 있습니다. 옵션으로서 주요 프로토콜 3 개(살)중에서 1 개를 선택할 수 있습니다. TCP 또는 UDP 의 경우, 포트 파라미터의 지정도 필요합니다. TCP 가 선택되었을 경우, (옵션으로서) 마지막에 TCP 플래그를 지정 가능합니다. 이하에 예를 몇 개 가리킵니다:
		# le0 에 도착하는 UDP 패킷
		in on le0 udp 10.1. 1.1, 2210 10.2. 1.5, 23
		# localhost 로부터 le0 에 도착하는 IP 패킷 - - :)
		in on le0 localhost 10.4. 12.1
		# SYN 플래그를 설정되어 le0 로부터 나가는 TCP 패킷
		out on le0 tcp 10.4. 12.1, 2245 10.1. 1.1, 23 S

옵션

-v  장황 모드. 통과한 또는 하지 않았던 입력 패킷에 대해서 룰의 어느 부분이 매치 했는지에 관계되어, 보다 자세한 정보를 제공합니다.

-d  필터 룰 디버그를 온으로 합니다. 현재는, IP 헤더 체크에 대해, 룰이 매치 하지 않았던 이유를 표시 할 뿐입니다 (주소/넷 마스크 등).

-b  패킷을 필터에 통한 결과의 출력을, 짧은 통계 (1 어), 즉 "pass", "block", "nomatch" 의 어느 쪽인가에 합니다. 퇴보 해 확인할 때에 사용합니다.

-I <interface>
    (룰의 매치에 사용된다) 인터페이스명을, 지정된 이름으로 설정합니다. 이 방법 없음에는 패킷과 인터페이스를 관련지을 수 없는, -P, -S, -T, -E 의 각 옵션에 대해 유용합니다. 통상의 「텍스트 패킷」은, 이 설정에 우선합니다.

-P  -i 로 지정되는 입력 파일은, libcap (즉 tcpdump 버젼 3)가 생성한 바이노리필드입니다. 이 파일로부터 읽혀진 패킷은, (룰에 대한다) 입력이 됩니다. 인터페이스는 -I 로 지정 가능합니다.

-S  입력 파일은 「스누프」포맷 (RFC 1761 참조)입니다. 패킷은 이 파일로부터 읽어내져 임의의 인터페이스로부터의 입력으로서 사용됩니다. 아마 현재로서는, 이것이 가장 유용한 입력 타입이지요.

-T  입력 파일은 tcpdump 의 텍스트 출력입니다. 현재 서포트되고 있는 텍스트 포맷은, 다음의 tcpdump 옵션의 편성의 출력입니다:

		tcpdump -n
		tcpdump -nq
		tcpdump -nqt
		tcpdump -nqtt
		tcpdump -nqte

-H  입력 파일은 16 진수이며, 패킷의 바이너리 구조를 표현할 필요가 있습니다. IP 헤더의 길이가 올바르지 않아도, 길이는 보정되지 않습니다.

-X  입력 파일은 IP 패킷의 텍스트 기술로부터 됩니다.

-E  입력 파일은 etherfind 의 텍스트 출력입니다. 현재 서포트되고 있는 텍스트 포맷은, 다음의 etherfind 옵션의 편성의 출력입니다:

		etherfind -n
		etherfind -n -t

-i <filename>
    입력을 얻는 파일명을 지정합니다. 디폴트는 표준 입력입니다.

-r <filename>
    필터 룰을 읽어내는 파일명을 지정합니다.

관련 항목
ipf(5), ipf(8), snoop(1m), tcpdump(8), etherfind(8c)

버그
입력 형식에 따라서는, 테스트에 유용한 사항 모든 것을 커버할 수 있는 만큼 충분히 다종 다양한 패킷을 표현할 수 없습니다.