LINUX.ORG.RU

Очень странная проблема с TCP соединением


0

0

Привет!

Кто-нибудь может объяснить вот это:

host root@host[~]#netstat -na | head -n 2 | tail -n 1
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
host root@host[~]#netstat -na | grep 9997
tcp        0      0 127.0.0.1:9997              127.0.0.1:9997              ESTABLISHED 
host root@host[~]#netstat -na | grep 9997
tcp        0     89 127.0.0.1:9997              127.0.0.1:9997              ESTABLISHED 
host root@host[~]#netstat -na | grep 9997
tcp        0    180 127.0.0.1:9997              127.0.0.1:9997              ESTABLISHED 
host root@host[~]#lsof | grep 9997
host root@host[~]#

Вообще ничего не понимаю.
Какое-то "циклическое" соединение, которое не пренадлежит
ни одному процессу.


Вот динамика изменения Send-Q:

host root@host[~]#for((i=0;i<15;i++)) do netstat -na | grep 9997 | awk '{print $3}' ; sleep 1 ; done
178
178
178
0
178
178
0
178
178
178
0
178
178
89
178
host root@host[~]#

То есть что-то явно происходит.

P.S.
Как мне рассказал коллега, проблему он увидел, когда наш демон
при старте грохнулся с сегфолтом.
Демон как раз и слушает на порту 9997.
Дальше к проблеме подключился я и увидел описанную выше картину.

Параметры системы:

host root@host[~]#cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 5.2 Beta (Tikanga)
host root@host[~]#uname -a
Linux ertel-samara 2.6.18-84.el5PAE #1 SMP Fri Feb 29 16:41:17 EST 2008 i686 i686 i386 GNU/Linux
host root@host[~]#

Параметры TCP:

host root@host[~]#sysctl -a | grep tcp
net.ipv4.netfilter.ip_conntrack_tcp_max_retrans = 3
net.ipv4.netfilter.ip_conntrack_tcp_be_liberal = 0
net.ipv4.netfilter.ip_conntrack_tcp_loose = 3
net.ipv4.netfilter.ip_conntrack_tcp_timeout_max_retrans = 300
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close = 10
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_last_ack = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 432000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 120
net.ipv4.tcp_slow_start_after_idle = 1
net.ipv4.tcp_dma_copybreak = 4096
net.ipv4.tcp_workaround_signed_windows = 0
net.ipv4.tcp_base_mss = 512
net.ipv4.tcp_mtu_probing = 0
net.ipv4.tcp_abc = 0
net.ipv4.tcp_congestion_control = bic
net.ipv4.tcp_tso_win_divisor = 3
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_no_metrics_save = 0
net.ipv4.tcp_low_latency = 0
net.ipv4.tcp_frto = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_adv_win_scale = 2
net.ipv4.tcp_app_win = 31
net.ipv4.tcp_rmem = 4096	87380	4194304
net.ipv4.tcp_wmem = 4096	16384	4194304
net.ipv4.tcp_mem = 98304	131072	196608
net.ipv4.tcp_dsack = 1
net.ipv4.tcp_ecn = 0
net.ipv4.tcp_reordering = 3
net.ipv4.tcp_fack = 1
net.ipv4.tcp_orphan_retries = 0
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_rfc1337 = 0
net.ipv4.tcp_stdurg = 0
net.ipv4.tcp_abort_on_overflow = 0
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_retries2 = 15
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 7200
net.ipv4.tcp_max_tw_buckets = 180000
net.ipv4.tcp_max_orphans = 32768
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_retrans_collapse = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
host root@host[~]#

Krivenok_Dmitry
() автор топика
Ответ на: комментарий от Krivenok_Dmitry

Есть еще один пример:

host root@host[~]#netstat -nt | grep 6113
tcp    74160 138880 127.0.0.1:6113              127.0.0.1:6113              ESTABLISHED 
host root@host[~]#lsof | grep 6113
tnslsnr    4067    oracle   12u     IPv4    2164251                   TCP localhost.localdomain:6113->localhost.localdomain:6113 (ESTABLISHED)
host root@host[~]#

Это Oracle Listener. Он слушает на порту 1521.
Имеем для него такое же циклическое соединение:

host root@host[~]#lsof | grep 4067
tnslsnr    4067    oracle  cwd       DIR        8,5       4096   17104928 /usr/local/oracle
tnslsnr    4067    oracle  rtd       DIR        8,3       4096          2 /
tnslsnr    4067    oracle  txt       REG        8,5     377978   17114881 /usr/local/oracle/app/oracle/product/10.2.0/bin/tnslsnr
tnslsnr    4067    oracle  mem       REG        8,3     101404    1313072 /lib/libnsl-2.5.so
tnslsnr    4067    oracle  mem       REG        8,3     125736    1313041 /lib/ld-2.5.so
tnslsnr    4067    oracle  mem       REG        8,3    1602548    1313059 /lib/libc-2.5.so
tnslsnr    4067    oracle  mem       REG        8,3     208352    1313063 /lib/libm-2.5.so
tnslsnr    4067    oracle  mem       REG        8,3      16428    1313062 /lib/libdl-2.5.so
tnslsnr    4067    oracle  mem       REG        8,3     125744    1313065 /lib/libpthread-2.5.so
tnslsnr    4067    oracle  mem       REG        8,5    2398392   17114530 /usr/local/oracle/app/oracle/product/10.2.0/lib/libhasgen10.so
tnslsnr    4067    oracle  mem       REG        8,5    1235376   17114496 /usr/local/oracle/app/oracle/product/10.2.0/lib/libocrb10.so
tnslsnr    4067    oracle  mem       REG        8,5     893196   17114495 /usr/local/oracle/app/oracle/product/10.2.0/lib/libocr10.so
tnslsnr    4067    oracle  mem       REG        8,5     745445   17114497 /usr/local/oracle/app/oracle/product/10.2.0/lib/libocrutl10.so
tnslsnr    4067    oracle  mem       REG        8,3      46680    1310761 /lib/libnss_files-2.5.so
tnslsnr    4067    oracle  mem       REG        8,5      71577   17114531 /usr/local/oracle/app/oracle/product/10.2.0/lib/libclsra10.so
tnslsnr    4067    oracle  mem       REG        8,5      55728   17111743 /usr/local/oracle/app/oracle/product/10.2.0/lib/libons.so
tnslsnr    4067    oracle  mem       REG        8,5       8105   17109883 /usr/local/oracle/app/oracle/product/10.2.0/lib/libskgxn2.so
tnslsnr    4067    oracle  mem       REG        8,5    5486009   17115078 /usr/local/oracle/app/oracle/product/10.2.0/lib/libnnz10.so
tnslsnr    4067    oracle  mem       REG        8,5   18774794   17108745 /usr/local/oracle/app/oracle/product/10.2.0/lib/libclntsh.so.10.1
tnslsnr    4067    oracle    0u      CHR        1,3                  3570 /dev/null
tnslsnr    4067    oracle    1u      CHR        1,3                  3570 /dev/null
tnslsnr    4067    oracle    2u      CHR        1,3                  3570 /dev/null
tnslsnr    4067    oracle    3w      REG        8,5  188953609   17499385 /usr/local/oracle/app/oracle/product/10.2.0/network/log/listener.log
tnslsnr    4067    oracle    4r     FIFO        0,6                 11464 pipe
tnslsnr    4067    oracle    5r      REG        8,5      11776   17114868 /usr/local/oracle/app/oracle/product/10.2.0/network/mesg/nlus.msb
tnslsnr    4067    oracle    6r      REG        8,5      47104   17109364 /usr/local/oracle/app/oracle/product/10.2.0/network/mesg/tnsus.msb
tnslsnr    4067    oracle    7w     FIFO        0,6                 11465 pipe
tnslsnr    4067    oracle    8u     IPv4      11468                   TCP *:ncube-lm (LISTEN)
tnslsnr    4067    oracle    9u     unix 0xf4f82e40                 11469 /var/tmp/.oracle/s#4067.1
tnslsnr    4067    oracle   10u     unix 0xf41d6c80                 11471 /var/tmp/.oracle/s#4067.2
tnslsnr    4067    oracle   11u     IPv4      15198                   TCP 127.0.0.1:ncube-lm->127.0.0.1:35808 (ESTABLISHED)
tnslsnr    4067    oracle   12u     IPv4    2164251                   TCP 127.0.0.1:6113->127.0.0.1:6113 (ESTABLISHED)
host root@host[~]#

Krivenok_Dmitry
() автор топика
Ответ на: комментарий от Krivenok_Dmitry

Я немного ступил.
Опция -p для netstat помогла найти процесс:

host root@host[~]#netstat -nap | grep 9997
tcp        0    178 127.0.0.1:9997              127.0.0.1:9997              ESTABLISHED 6050/perl           
host root@host[~]#

А lsof не находил процесс так как я грепил по порту, а он 
выводит службы

host root@host[~]#lsof | grep 6050
eq_discov  6050 equipment  cwd       DIR        8,3       4096          2 /
eq_discov  6050 equipment  rtd       DIR        8,3       4096          2 /
eq_discov  6050 equipment  txt       REG        8,5      14784    3178662 /usr/bin/perl
eq_discov  6050 equipment  mem       REG        8,3     101404    1313072 /lib/libnsl-2.5.so
eq_discov  6050 equipment  mem       REG        8,5      11716   11144933 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Fcntl/Fcntl.so
eq_discov  6050 equipment  mem       REG        8,5      70385   11145156 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Time/HiRes/HiRes.so
eq_discov  6050 equipment  mem       REG        8,5     115040   11144961 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/POSIX/POSIX.so
eq_discov  6050 equipment  mem       REG        8,5      20216   11145123 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Socket/Socket.so
eq_discov  6050 equipment  mem       REG        8,5     538131   11338622 /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.s
o
eq_discov  6050 equipment  mem       REG        8,5      60706   11145153 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Sys/Syslog/Syslog.so
eq_discov  6050 equipment  mem       REG        8,5      49972   11149975 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/MIME/Base64/Base64.so
eq_discov  6050 equipment  mem       REG        8,3      76400    1313074 /lib/libresolv-2.5.so
eq_discov  6050 equipment  mem       REG        8,5    5486009   17115078 /usr/local/oracle/app/oracle/product/10.2.0/lib/libnnz10.so
eq_discov  6050 equipment  mem       REG        8,5     101813   11144921 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/Encode/Encode.so
eq_discov  6050 equipment  mem       REG        8,3      46680    1310761 /lib/libnss_files-2.5.so
eq_discov  6050 equipment  mem       REG        8,5      84840   11149978 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/List/Util/Util.so
eq_discov  6050 equipment  mem       REG        8,5      60014   11149957 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/auto/IO/IO.so
eq_discov  6050 equipment  mem       REG        8,3     125736    1313041 /lib/ld-2.5.so
eq_discov  6050 equipment  mem       REG        8,3    1602548    1313059 /lib/libc-2.5.so
eq_discov  6050 equipment  mem       REG        8,3     208352    1313063 /lib/libm-2.5.so
eq_discov  6050 equipment  mem       REG        8,3      16428    1313062 /lib/libdl-2.5.so
eq_discov  6050 equipment  mem       REG        8,3     125744    1313065 /lib/libpthread-2.5.so
eq_discov  6050 equipment  mem       REG        8,3      44060    1313066 /lib/librt-2.5.so
eq_discov  6050 equipment  mem       REG        8,5      11720   11338013 /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Clone/Clone.so
eq_discov  6050 equipment  mem       REG        8,5    1241272   11145953 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so
eq_discov  6050 equipment  mem       REG        8,5     278658   11338022 /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI/DBI.so
eq_discov  6050 equipment  mem       REG        8,5   18774794   17108745 /usr/local/oracle/app/oracle/product/10.2.0/lib/libclntsh.so.10.1
eq_discov  6050 equipment  mem       REG        8,3      15164    1313080 /lib/libutil-2.5.so
eq_discov  6050 equipment  mem       REG        8,3      45288    1313082 /lib/libcrypt-2.5.so
eq_discov  6050 equipment  mem       REG        8,5     404884   17114225 /usr/local/oracle/app/oracle/product/10.2.0/oracore/zoneinfo/timezlrg.dat
eq_discov  6050 equipment    0r      CHR        1,3                  3570 /dev/null
eq_discov  6050 equipment    1w      CHR        1,3                  3570 /dev/null
eq_discov  6050 equipment    2w      CHR        1,3                  3570 /dev/null
eq_discov  6050 equipment    3r      REG        8,5       8148   17116699 /usr/local/equipment/EQ-scripts/equipment.conf~ (deleted)
eq_discov  6050 equipment    4w      REG        8,5    2098046   17116736 /usr/local/equipment/log/eq_discovery.log
eq_discov  6050 equipment    5u     IPv4  145087638                   TCP localhost.localdomain:palace-6->localhost.localdomain:palace-6 (ESTABLISHED)
eq_discov  6050 equipment    6u     IPv4      16225                   TCP localhost.localdomain:63986->localhost.localdomain:distinct32 (CLOSE_WAIT)
eq_discov  6050 equipment    7r      REG        8,5      25088   17114563 /usr/local/oracle/app/oracle/product/10.2.0/rdbms/mesg/ocius.msb
eq_discov  6050 equipment    8u     IPv4  146256262                   UDP localhost.localdomain:4337 
eq_discov  6050 equipment    9u     IPv4  146256263                   TCP localhost.localdomain:61750->localhost.localdomain:ncube-lm (ESTABLISHED)
sshd       7718      root    3u     IPv6    6050537                   TCP *:ssh (LISTEN)
host root@host[~]#


palace-6 - это как раз 9997.

Krivenok_Dmitry
() автор топика
Ответ на: комментарий от true_admin

ты злой. в чем там дело??? как это tcp localhost:666 -> localhost:666 ???

alex4
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.