web-dev-qa-db-ja.com

Linuxで着信IPを確認するにはどうすればよいですか?

私のサーバーへの着信IPをリアルタイムで表示するためのコマンド/ユーティリティ、理想的にはポートと接続されているものを知りたいのですが。

24
alfish

使用する pktstat -n

interface: eth0
bps

   bps    % desc
 162.3   0% arp
 286.5   0% llc 802.1d -> 802.1d
 544.3   1% tcp 172.16.1.5:22 <-> 172.16.1.95:8074
 34.0k  87% udp 172.16.1.1:514 <-> 172.16.1.5:514
 350.1   0% udp 172.16.1.5:24330 <-> 209.18.47.62:53
 329.4   0% udp 172.16.1.5:34870 <-> 209.18.47.62:53
 388.3   0% udp 172.16.1.5:4470 <-> 209.18.47.62:53
 407.4   1% udp 172.16.1.5:47008 <-> 209.18.47.62:53
 741.6   1% udp 172.16.1.5:53 <-> 172.16.1.74:43289
 663.6   1% udp 172.16.1.5:53 <-> 172.16.1.74:44589
 647.7   1% udp 172.16.1.5:53 <-> 172.16.1.74:58223
 128.9   0% udp 172.16.1.74:5353 <-> 224.0.0.251:5353
 160.7   0% udp6 fe80::21c:bfff:fecf:a798,5353 <-> ff02::fb,5353

pktstatソースコード はDebianのサイトでホストされています。または SourceArchive.com から入手できます。

27
Mike Pennington

「パーディ」表示の場合、私は「iptraf」と呼ばれるツールの一部であり、インターフェイスごと、およびポートごとの集計と同様に、あなたが述べたとおりのことを行います。

コアLinuxツールの場合、信頼できるnetstatがうまくいきます...

10
thinice

tcpdumpはそれを示します。 IPのリストだけが必要な場合は、SYNパケットでフィルタリングして、送信元IPアドレスのみを出力できます。何かのようなもの:

tcpdump -i eth0 -n 'tcp[tcpflags] & tcp-syn != 0 and not src and dst net localnet' | sed 's/^.*IP \([^ ]*) >.*$/\1/'

IPのリストをリアルタイムで取得します。ファイルにteeして、定期的にsort -uオンにして、接続を自分の方法で送信した一意のIPアドレスのリストを取得します。

7
womble

ポート2222に着信するすべてのトラフィックを確認する方法は次のとおりです。

tcpdump -ni any port 2222
4
Basj

lastを使用して、接続がどこから来ているのかを知ることができます。

last | tac

結果は時系列で次のようになります。

root     pts/0        xx.yy.zz.1       Fri Jan 31 09:13 - 13:25  (04:11)
root     pts/1        master01-server.ne Fri Jan 31 09:36   still logged in
root     pts/2        xx.yy.zz.1       Fri Jan 31 10:29 - 14:41  (04:11)
root     pts/3        master01-server.ne Fri Jan 31 10:33 - 18:31  (07:58)
root     pts/4        master01-server.ne Fri Jan 31 13:04 - 18:32  (05:28)
root     pts/0        xx.yy.zz.1       Fri Jan 31 13:41 - 16:33  (02:52)
root     pts/0        master01-server.ne Mon Feb  3 08:37   still logged in

詳細が必要で、システム管理者がnetstatを許可しない場合は、ssを使用します。

ss | grep xx.zx.yz.161


tcp    ESTAB      0      0      nnn.mm.oo.6:ssh                  xx.zx.yz.161:49046
tcp    ESTAB      0      0      nnn.mm.oo.6:ssh                  xx.zx.yz.161:54800
0
Lefty G Balogh

他の回答で述べられているコマンドの1つの出力を取得したら、「監視」ツールを使用して「リアルタイム」を使用できます。たとえば、「watch -n 5 ps」は、コマンド「ps」を5秒ごとに実行します(「-n」引数)。 「ps」を目的のコマンドに置き換えると、「監視」が表示されます。または、別の提案のように、ファイルに "T字"を付けます。

0
Carrier