Basitçe, ağ arayüzleri üzerinden akan veriyi kayıt etmemizi sağlayan bir araçtır.

-i any    : Bütün ağ arayüzlerini dinler
-i virbr0 : Sadece 'virbr0' ağ arayüzünü dinler
-D        : Kullanılabilir tüm ağ arayüzlerini listeler       
-n        : Hostname çözümlemeden tarama yapar
-nn       : Hostname ve port çözümlemeden işlem yapar
-q        : Ekrana çıktı yazılmasını önler
-t        : Zaman damgalarını göstermez
-tttt     : Okunabilirliği en yüksek zaman damgasını ekler
-X        : Paketlerdeki HEX ad ASCII içerikleri gösterir
-XX       : -X ile aynı işi yapar ama İnterner Header'larını da okur.
-v        : Paketler hakkında çıktı üretmemizi sağlar
-vv, -vvv : -v ile aynı işi yapar ama üretilecek çıktı sayısı v sayısı arttırkça derinleşir
-c        : Sadece paket sayısını takip eder
-s        : Belirli bir sayıda paket toplamamızı sağlar. -s0 sonsuz demektir.
-S        : Sekans numarasını yazdır.
-e        : İnternet Header bilgisini getir.
-E        : IPSEC trafik üzerindeki veriyi çözümle (decrypt)
  • Kullanılabilecek argümanlar: host,netport
  • Kullanılabilecek yönergeler: src, dst
  • Protokoller : tcp,udp,icmp,ah

Örnekler

Tüm ağ arayüzlerini dinleyen komut

$ sudo tcpdump -i any    
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
22:36:46.034261 IP 146.75.2.248.https > 192.168.1.113.56967: Flags [.], seq 1596546878:1596548258, ack 4000340518, win 275, options [nop,nop,TS val 3639990828 ecr 3020897020], length 1380
22:36:46.034714 IP 146.75.2.248.https > 192.168.1.113.56967: Flags [P.], seq 1380:2760, ack 1, win 275, options [nop,nop,TS val 3639990828 ecr 3020897020], length 1380
22:36:46.034715 IP 146.75.2.248.https > 192.168.1.113.56967: Flags [.], seq 2760:4140, ack 1, win 275, options [nop,nop,TS val 3639990829 ecr 3020897022], length 1380
22:36:46.034726 IP 146.75.2.248.https > 192.168.1.113.56967: Flags [P.], seq 4140:5520, ack 1, win 275, options [nop,nop,TS val 3639990829 ecr 3020897022], length 1380

Belirli bir arayüzü incelemek için;

$ sudo tcpdump -i en0 
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 262144 bytes
22:38:08.782704 IP 192.168.1.113.51591 > 239.255.255.250.ssdp: UDP, length 175
22:38:08.794074 IP 192.168.1.113.54409 > one.one.one.one.domain: 745+ PTR? 113.1.168.192.in-addr.arpa. (44)
22:38:08.819542 IP one.one.one.one.domain > 192.168.1.113.54409: 745 NXDomain 0/0/0 (44)

Düzgün okunabilir, sekans numaralı ve host/port çözümlemesi yapılmayan bir örnek olarak;

$ sudo tcpdump -ttttnnvvS
tcpdump: data link type PKTAP
tcpdump: listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
2022-12-07 22:39:25.338343 IP (tos 0x0, ttl 64, id 52382, offset 0, flags [none], proto UDP (17), length 71)
    192.168.1.113.52739 > 1.1.1.1.53: [udp sum ok] 51028+ A? chrome.cloudflare-dns.com. (43)
2022-12-07 22:39:25.338424 IP (tos 0x0, ttl 64, id 18069, offset 0, flags [none], proto UDP (17), length 71)
    192.168.1.113.54117 > 1.1.1.1.53: [udp sum ok] 3819+ AAAA? chrome.cloudflare-dns.com. (43)

Belirli bir hostu incelemek istersek

$ sudo tcpdump host 192.168.1.113
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
22:40:16.955668 IP 192.168.1.113.56976 > s3-us-west-2.amazonaws.com.https: Flags [.], ack 2768462274, win 4096, length 0
22:40:16.966372 IP 192.168.1.113.50512 > one.one.one.one.domain: 25664+ PTR? 113.1.168.192.in-addr.arpa. (44)
22:40:16.984641 IP one.one.one.one.domain > 192.168.1.113.50512: 25664 NXDomain 0/0/0 (44)
22:40:16.989238 IP 192.168.1.113.57936 > one.one.one.one.domain: 18849+ PTR? 248.179.92.52.in-addr.arpa. (44)

Belirli network subnetini dinlemek için;

$ sudo tcpdump net 192.168.1.0/24
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
22:42:28.905379 IP 192.168.1.113.57205 > 25.224.186.35.bc.googleusercontent.com.https: UDP, length 250
22:42:28.908629 IP 192.168.1.113.53003 > one.one.one.one.domain: 53566+ PTR? 113.1.168.192.in-addr.arpa. (44)
22:42:28.920790 IP one.one.one.one.domain > 192.168.1.113.53003: 53566 NXDomain 0/0/0 (44)
22:42:28.924960 IP 192.168.1.113.50523 > one.one.one.one.domain: 47055+ PTR? 25.224.186.35.in-addr.arpa. (44)

Port kısıtlaması yapmak için

$ sudo tcpdump port 80
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
^C
0 packets captured
409 packets received by filter
0 packets dropped by kernel

Çıktıyı kayıt etmek isersek;

$ sudo tcpdump -w output        
tcpdump: data link type PKTAP
tcpdump: listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
^C16 packets captured
20 packets received by filter
0 packets dropped by kernel

Kayıt ettiğimiz çıktıyı okuymak istersek;

$ sudo tcpdump -r output 
reading from PCAP-NG file output
22:49:00.907360 ARP, Reply 192.168.1.1 is-at 8c:59:73:45:08:40 (oui Unknown), length 28
22:49:00.961501 IP 192.168.1.113.57621 > 192.168.1.255.57621: UDP, length 44
22:49:01.622691 IP 192.168.1.113.56856 > 104.18.7.183.https: Flags [P.], seq 3793547806:3793547989, ack 1763056975, win 2048, options [nop,nop,TS val 2334735024 ecr 303325811], length 183