あなたが求めていることを実行するPythonツールは私が知っているわけではありません。また、procディレクトリを自分で解析することを考える簡単な方法もありません。そのため、 ss コマンドの純粋な Python バージョンを自分で実装する (または、少なくとも /proc/<pid>/net/* の情報から RTT を計算する方法を理解する) か、その出力を解析することができます。私はどちらかというと bash 派なので、(RTT,PID) ペアのリストを取得するためにまとめたものを以下に示します。
#!/usr/bin/python
from subprocess import check_output as co
co("ss -tp > ss.out", shell=True)
rtts = co("cat ss.out | grep ESTAB | awk '{print $4}' | xargs -I {} ss -i 'src {}' | grep \"rtt:\" | awk '{print $4}' | cut -d : -f 2 | cut -d / -f 1", shell=True)
pids = co("cat ss.out | grep ESTAB | awk '{print $6}' | cut -d , -f 2", shell=True)
print zip(rtts.split('\n'), pids.split('\n'))
ss コマンドでは、-t は TCP 接続を表示することを意味し、-p は印刷プロセス (PID) 情報を意味します。-e オプションを使用すると、/proc/XXXX/fd/ 内のファイル記述子番号を決定するために使用できる inode 番号も取得できます。たとえば、i ノード番号 31159 のソケットに対応するファイル記述子番号 11 を使用して、マシンでプロセス 31117 を実行しています。
# ls -lah /proc/31117/fd/11
lrwx------ 1 root root 64 Dec 10 19:08 /proc/31117/fd/11 -> socket:[31159]
/proc/pid/fd/4 のようなソケット ファイルを「開く」ことができない理由は、これらがすべて存在しないファイルを指すリンクであるためです。それらから取得できる唯一の情報は、ソケットの名前 (inode 番号) です。