tcptrack is a packet sniffer, which passively watches for connections on a specified network interface, tracks their states, and lists them in a manner similar to the Unix 'top' command. It displays source and destination addresses and ports, connection state, idle time, and bandwidth usage.
| Tags | Internet Networking Monitoring Utilities |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Unix |
| Implementation | C C++ |
Recent releases


Release Notes: This release adds a new sort option: by total bytes transferred. This also adds a way to cycle through all sort options.


Release Notes: This release fixes a bug that caused a floating point exception when handling packets with source or destination ports of 0.


Release Notes: A memory leak has been fixed.


Release Notes: This release adds a total for the speed column at the bottom of the display and fixes some user interface bugs.


Release Notes: An assertion failure (in IPv4Packet.cc) bug was fixed. tcptrack can now run on interfaces with no IPv4 addresses (stealth interfaces). A few crashes and assertion failures on Mac OS X and FreeBSD caused by missing pthread_*_init calls were fixed. A timeout for connections in the CLOSING state was added.
Recent comments
13 Dec 2006 10:46
make fails with G++ 4.1 (SuSE 10.1)
Problem:
IPv4Address.h:16: error: extra qualification IPv4Address:: on member ptr
and others
Solution:
change the following lines in
IPv4Address.h and TCPPacket.h
any_machine:~/src # diff tcptrack-1.1.5/src/ tcptrack-1.1.5-modified_gpp41/src/
diff tcptrack-1.1.5/src/IPv4Address.h tcptrack-1.1.5-modified_gpp41/src/IPv4Address.h
16c16
< char * IPv4Address::ptr() const;
---
> char * ptr() const;
diff tcptrack-1.1.5/src/TCPPacket.h tcptrack-1.1.5-modified_gpp41/src/TCPPacket.h
32,35c32,35
< TCPPacket::TCPPacket( const u_char *data, unsigned int data_len );
< TCPPacket::TCPPacket( TCPPacket & orig );
< seq_t TCPPacket::getSeq() const;
< seq_t TCPPacket::getAck() const;
---
> TCPPacket( const u_char *data, unsigned int data_len );
> TCPPacket( TCPPacket & orig );
> seq_t getSeq() const;
> seq_t getAck() const;
42,49c42,49
< bool TCPPacket::fin() const;
< bool TCPPacket::syn() const;
< bool TCPPacket::rst() const;
< bool TCPPacket::psh() const;
< bool TCPPacket::ack() const;
< bool TCPPacket::urg() const;
< bool TCPPacket::ece() const;
< bool TCPPacket::cwr() const;
---
> bool fin() const;
> bool syn() const;
> bool rst() const;
> bool psh() const;
> bool ack() const;
> bool urg() const;
> bool ece() const;
> bool cwr() const;