9.14. Examining Local Network Activities
Problem
You want to examine network use occurring on your local machine.
Solution
To print a summary of network use:
$ netstat --inet Connected sockets $ netstat --inet --listening Server sockets $ netstat --inet --all Both # netstat --inet ... -p Identify processes
To print dynamically assigned ports for RPC services:
$ rpcinfo -p [host
]
To list network connections for all processes:
# lsof -i[TCP|UDP][@host
][:port
]
To list all open files for specific processes:
# lsof -ppid
# lsof -ccommand
# lsof -uusername
To list all open files (and network connections) for all processes:
# lsof
To trace network system calls, use strace . [Recipe 9.15]
Discussion
Suppose you see a process with an unfamiliar name running on your system. Should you be concerned? What is it doing? Could it be surreptitiously transmitting data to some other machine on a distant continent?
To answer these kinds of questions, you need tools for observing network use and for correlating activities with specific processes. Use these tools frequently so you will be familiar with normal network usage, and equipped to focus on suspicious behavior when you encounter it.
The netstat command prints a summary of the state of networking on your machine, and is a good way to start investigations. The —inet option prints active connections:
$ netstat --inet Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 240 myhost.example.com:ssh client.example.com:3672 ...
Get Linux Security Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.