-2

ss接続情報を抽出するための優れたツールだと思います。最も詳細な情報を問い合わせるが、WAN 発信元の IP アドレスを含む行のみを返すコマンドが必要です。

たとえば、に基づいたものから次の出力が必要ですsudo ss -antu

Netid  State      Recv-Q Send-Q            Local Address:Port                           Peer Address:Port              
tcp    ESTAB      0      0                   192.168.12.1:38932                        211.54.192.102:443                
tcp    SYN-RECV   0      0            ::ffff:192.168.12.1:80                       ::ffff:69.59.249.6:59937              
tcp    ESTAB      0      750          ::ffff:192.168.12.1:80                       ::ffff:69.59.249.6:59498              

要するに、次のないリスト:

  • 私の目的のためのノイズ
  • プライベート アドレス(127\.) | (10\.) | (172\.1[6-9]\.) | (172\.2[0-9]\.) | (172\.3[0-1]\.) | (192\.168\.)

これについてどうやって行くのですか?正規表現は私の得意分野ではありませ

4

1 に答える 1

0

これは、IPアドレスがIPブロックに属しているかどうかを判断するためにビットごとの計算を行うことができる何かでよりよく解決されます. Perl モジュール Net::CIDR を使用した例を次に示します。3 つの RFC1918 プライベート ネットワークのいずれにも属さない場合は、IP アドレスが出力されます。

perl -mNet::CIDR -ne 'print unless Net::CIDR::cidrlookup($_, ("10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"))'
于 2016-04-14T16:14:35.877 に答える