Friday, 27 December 2013

tcpdump - làm sao không quên?

nếu không thường xuyên sử dụng, bạn sẽ quên syntax của tcpdump.

Cách nhớ dễ nhất là hiểu nó

Tài liệu sử dụng nội dung của man 1 tcpdump

       tcpdump [ -AbdDefhHIJKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ]
               [ -C file_size ] [ -G rotate_seconds ] [ -F file ]
               [ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
               [ -P in|out|inout ]
               [ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ]
               [ -W filecount ]
               [ -E spi@ipaddr algo:secret,...  ]
               [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
               [ expression ]

Format lệnh tcpdump gồm các option và theo sau cùng là expression

Tcpdump  prints  out a description of the contents of packets on a network interface that match the boolean expression.

Syntax của "expression" thì xem ở  man 7 pcap-filter

Đọc qua thấy syntax khá đơn giản,

       The filter expression consists of one or more primitives.  Primitives usually consist of an id (name or number) preceded  by  one  or  more qualifiers.  There are three different kinds of qualifier:

       type   type  qualifiers  say what kind of thing the id name or number refers to.  Possible types are host, net , port and portrange.  E.g., `host foo', `net 128.3', `port 20', `portrange 6000-6008'.  If there is no type qualifier, host is assumed.

       dir    dir qualifiers specify a particular transfer direction to and/or from id.  Possible directions are src, dst, src  or  dst,  src  and       dst,  ra,  ta,  addr1,  addr2,  addr3, and addr4.  E.g., `src foo', `dst net 128.3', `src or dst port ftp-data'.  If there is no dir        qualifier, src or dst is assumed.  The ra, ta, addr1, addr2, addr3, and addr4 qualifiers are only valid for IEEE 802.11 Wireless LAN         link  layers.   For  some  link  layers, such as SLIP and the ``cooked'' Linux capture mode used for the ``any'' device and for some         other device types, the inbound and outbound qualifiers can be used to specify a desired direction.

       proto  proto qualifiers restrict the match to a particular protocol.  Possible protos are: ether, fddi, tr, wlan, ip, ip6, arp, rarp,  dec‐net,  tcp  and udp.  E.g., `ether src foo', `arp net 128.3', `tcp port 21', `udp portrange 7000-7009', `wlan addr2 0:2:3:4:5:6'.  If          there is no proto qualifier, all protocols consistent with the type are assumed.  E.g., `src foo' means `(ip or  arp  or  rarp)  src         foo'  (except  the latter is not legal syntax), `net bar' means `(ip or arp or rarp) net bar' and `port 53' means `(tcp or udp) port      53'.

VD: dump tất cả các package ra ngoài qua  interface eth0

tcpdump -ni eth0 outbound