페이로드/애플리케이션 데이터가 없도록 이더넷, IP 및 레이어 4 (내 경우에는 TCP) 헤더 만 포함 된 pcap 파일을 생성하는 자동화 된 방법 (tcpdump 또는 헬퍼 앱을 통해)이 있습니까? 결과 pcap에? 헤더 크기가 종종 다양하기 때문에 페이로드 데이터를 포착하지 않는 캡처 크기를 선택하는 것은 불가능하다는 것을 알았습니다. 간단한 잘라 내기 당신을 위해 작동 할 경우tcpdump에서 페이로드 제거?
답변
당신은 파이썬의 scapy
모듈과 매우 쉽게 TCP 페이로드를 제거 할 수
[[email protected] tshark_wd]$ tcpdump -n -r sample.pcap
reading from file sample.pcap, link-type EN10MB (Ethernet)
00:25:42.443559 IP 192.168.12.237.1052 > 192.168.12.236.22: Flags [P.],
seq 2445372969:2445373021, ack 1889447842, win 63432, length 52
00:25:42.443607 IP 192.168.12.236.22 > 192.168.12.237.1052: Flags [.],
ack 52, win 65535, length 0
00:25:42.443980 IP 192.168.12.236.22 > 192.168.12.237.1052: Flags [P.],
seq 1:389, ack 52, win 65535, length 388
STRIPPING PAYLOAD
는 ... 리눅스 루트로
을이 프로그램을 실행하기 전에#!/usr/bin/env python
from scapy.all import *
INFILE = 'sample.pcap'
OUTFILE = 'stripped.pcap'
paks = rdpcap(INFILE)
for pak in paks:
pak[TCP].remove_payload()
wrpcap(OUTFILE, paks)
,363,210
위의 tcpdump
에서
[[email protected] tshark_wd]$ tcpdump -n -r stripped.pcap
reading from file sample.pcap, link-type EN10MB (Ethernet)
00:25:42.443559 IP truncated-ip - 52 bytes missing! 192.168.12.237.1052
> 192.168.12.236.22: Flags [P.], seq 2445372969:2445373021,
ack 1889447842, win 63432, length 52
00:25:42.443607 IP 192.168.12.236.22 > 192.168.12.237.1052: Flags [.],
ack 52, win 65535, length 0
00:25:42.443980 IP truncated-ip - 388 bytes missing! 192.168.12.236.22
> 192.168.12.237.1052: Flags [P.], seq 1:389,
ack 52, win 65535, length 388
후, "XX 바이트가 누락!"통지 메시지. 그것은 우리가 TCP 페이로드를 제거했기 때문입니다.
, 당신은 사용할 수 있습니다
tcpdump -i eth0 -s 96 -w test1.pcap
나중에에 Wireshark와 함께 분석 할 수 있습니다.
내 솔루션은 다음과 같습니다. 다른 사람들이 외부 라이브러리 나 잘림없이 어떻게하는지 듣고 싶습니다. 내가 Scapy 문서에서 remove_payload() 함수를 찾을 수 없어서 다른 사람들이 이것을 어떻게 수행했는지 듣고 싶다.이 대답을 사용할 수 없게 만든다.
#read pcap file
pkts = rdpcap("packet-capture.pcap")
#write packet with payload "XXXXXXXXXX"
for pkt in pkts:
pkt.load = "XXXXXXXXXX"
#write new pcap
wrpcap("new.pcap", pkts)
이의 문제는, tcpdump를 읽을 때, 그것은 바이트가없는 잎이다! src IP에 대해서는입니다. 나는
pkts[_packet_num].load
가 변경되지 않은 것처럼 보이는, 그래서 전체 캡처를 다시 생성 할 수있는 방법이 있나요 통해 infromation는 여전히 scapy를 사용하고 확인할 수 있습니까?
답변보다 다른 질문처럼 들립니다. 아마도 다른 [asking] (http://stackoverflow.com/questions/ask)을 고려해보십시오. – adamdunson
- 1. tcpdump에서 사이트 재 작성 하시겠습니까?
- 2. RTP 페이로드
- 3. tcpdump에서 필요한 HTTP 헤더를 가져올 수 없습니다.
- 4. Lucene - 채점 및 페이로드
- 5. facebook 엽서 및 페이로드
- 6. REST 페이로드 최대 크기?
- 7. Lucene에서의 페이로드 성능
- 8. 노새 foreach 페이로드
- 9. 알림 페이로드 지역화
- 10. 푸시 알림을위한 최소 페이로드?
- 11. tcpflow 출력에서 페이로드 추출
- 12. 패킷에 페이로드 추가
- 13. 디코딩 맵 페이로드 - wireshark
- 14. HTTP SOAP 페이로드 인코딩
- 15. metasploits meterpreter 페이로드 이해
- 16. Sencha Touch에서 페이로드 데이터를 요청하십시오.
- 17. 클라이언트를 사용하여 APNS 페이로드 읽기
- 18. Asp.Net 웹 서비스 데이터 페이로드
- 19. 웹캠 스트림을 전송할 페이로드 유형
- 20. 페이로드 Id에서 라이센스 가져 오기
- 21. RabbitMQ의 메시지 속성 및 페이로드
- 22. ioctl 페이로드 유형/크기 위반
- 23. DBMS_AQ.DEQUEUE_ARRAY의 페이로드 유형을 결정하는 방법
- 24. Mule ESB 맵 페이로드 생성
- 25. RESTful API에서 페이지 매김 응답 페이로드
- 26. pdu에서 페이로드 정보 가져 오기 logica SMPP
- 27. Spring에서 클래스로 HTTP 요청 페이로드 매핑하기
- 28. SCEP 페이로드 후에 어떤 응답을 장치에 보내야합니까?
- 29. Apache Axis 1.x XML 페이로드
- 30. 봄 통합에 http : 인바운드 게이트웨이 페이로드 유형
불행히도 OP가 올바르지 만 TCP 옵션 필드로 인해 TCP 헤더의 길이를 신뢰할 수있게 예측할 수있는 방법이 없습니다. 대부분 IP/TCP 헤더의 유일한 부분으로 길이가 다를 수 있습니다. 고정 된 snaplen 값은 항상 올바른 위치에서 TCP 페이로드를자를 것을 보장하지 않습니다. –