2013-02-28 1 views
1

Scapy는 패킷 당 타임 스탬프를 수정하는 capability을 가지고 있습니다. 따라서 시작 값을 지정하여 PCAP의 여러 패킷에서 타임 스탬프를 수정하는 가장 좋은 방법이 될 수 있습니다. 패킷을 수정할 수 있지만 마이크로 초 값을 성공적으로 증가시키지 못했습니다. 다음PCAP 타임 스탬프 값을 늘리십시오.

1360806997.231777 IP 192.168.1.100.50496 > 192.168.1.200.http: S 4211078664:4211078664(0) win 14600 <mss 1460,sackOK,timestamp 199086437 0,nop,wscale 3> 
1360806997.231808 IP 192.168.1.200.http > 192.168.1.100.50496: S 256066681:256066681(0) ack 4211078665 win 14480 <mss 1460,sackOK,timestamp 199086195 199086437,nop,wscale 3> 
1360806997.232034 IP 192.168.1.100.50496 > 192.168.1.200.http: . ack 1 win 1825 <nop,nop,timestamp 199086437 199086195> 
1360806997.232043 IP 192.168.1.100.50496 > 192.168.1.200.http: P 1:19(18) ack 1 win 1825 <nop,nop,timestamp 199086437 199086195> 
1360806997.232063 IP 192.168.1.200.http > 192.168.1.100.50496: . ack 19 win 1810 <nop,nop,timestamp 199086195 199086437> 

: 예를 들어

패킷을 수정하려는이 포함 된 PCAP에 타임 스탬프이 보인다

1234567890.000000 IP 192.168.1.100.50496 > 192.168.1.200.http: S 4211078664:4211078664(0) win 14600 <mss 1460,sackOK,timestamp 199086437 0,nop,wscale 3> 
1234567890.000001 IP 192.168.1.200.http > 192.168.1.100.50496: S 256066681:256066681(0) ack 4211078665 win 14480 <mss 1460,sackOK,timestamp 199086195 199086437,nop,wscale 3> 
1234567890.000002 IP 192.168.1.100.50496 > 192.168.1.200.http: . ack 1 win 1825 <nop,nop,timestamp 199086437 199086195> 
1234567890.000003 IP 192.168.1.100.50496 > 192.168.1.200.http: P 1:19(18) ack 1 win 1825 <nop,nop,timestamp 199086437 199086195> 
1234567890.000004 IP 192.168.1.200.http > 192.168.1.100.50496: . ack 19 win 1810 <nop,nop,timestamp 199086195 199086437> 

답변

1

작동합니다 :

def process_packets(): 
    pkts = rdpcap(infile) 
    cooked=[] 
    timestamp = 1234567890.000000 
    for p in pkts: 
     p.time = timestamp 
     timestamp += 0.000001 
     pmod=p 
     cooked.append(pmod) 
    wrpcap("dump.pcap", cooked) 

코드 것 지정된 초를 사용하여 각 패킷에 대한 새 시간 값을 새 PCAP에 쓰고 마이크로 초 단위로 증가시킵니다. 값. 좀 더 우아한 방법이 있다면 알려주세요.