亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)? [打印本頁(yè)]

作者: wufeiwf    時(shí)間: 2005-08-10 18:54
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
在liunx環(huán)境下用netstat看到的ESTABLISHED的連接如何用系統(tǒng)命令強(qiáng)制斷開(kāi)?
例如,下面如何將10.103.4.40的這個(gè)tcp連接斷開(kāi)?
[root@/root]# netstat -na|grep 7600
tcp        0      0 0.0.0.0:7600            0.0.0.0:*               LISTEN
tcp        0      0 10.103.4.3:7600         192.168.0.122:1110      SYN_RECV
tcp        0      0 10.103.4.3:7600         10.103.4.40:1366        ESTABLISHED
作者: platinum    時(shí)間: 2005-08-10 19:26
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
# iptables -I INPUT -s 10.103.4.40 -m state --state NEW,RELATED,ESTABLISHED -j DROP
作者: txkss    時(shí)間: 2005-08-10 21:16
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
樓上的老哥

可是那個(gè)tcp連接已經(jīng)建立了

我們?cè)賹?xiě)那個(gè)防火墻記錄還有用嗎?
作者: ericshei    時(shí)間: 2005-08-10 21:38
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
用netstat -anp去看,然後kill pid如何?
作者: wufeiwf    時(shí)間: 2005-08-10 22:42
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
謝謝樓上的,但是不解決問(wèn)題。不能把server的監(jiān)聽(tīng)進(jìn)程kill,只能把已經(jīng)建立的tcp連接通過(guò)操作系統(tǒng)命令斷開(kāi),一直沒(méi)有找到思路。
作者: platinum    時(shí)間: 2005-08-10 23:14
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
[quote]原帖由 "wufeiwf"]謝謝樓上的,但是不解決問(wèn)題。不能把server的監(jiān)聽(tīng)進(jìn)程kill,只能把已經(jīng)建立的tcp連接通過(guò)操作系統(tǒng)命令斷開(kāi),一直沒(méi)有找到思路。[/quote 發(fā)表:

我上面寫(xiě)的不能解決問(wèn)題嗎?
作者: wufeiwf    時(shí)間: 2005-08-10 23:30
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
不管用,我對(duì)iptables只是了解,但是我的理解和txkss一樣,這種方式對(duì)已經(jīng)建立的tcp連接有用嗎?而且我用你的命令試過(guò)了,沒(méi)有斷開(kāi)
作者: wufeiwf    時(shí)間: 2005-08-10 23:34
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
對(duì)了,我怎么把剛才加的這條防火墻記錄給刪除?
作者: platinum    時(shí)間: 2005-08-10 23:37
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
原帖由 "wufeiwf"]不管用,我對(duì)iptables只是了解,但是我的理解和txkss一樣,這種方式對(duì)已經(jīng)建立的tcp連接有用嗎?而且我用你的命令試過(guò)了,沒(méi)有斷開(kāi)[/quote 發(fā)表:

你是怎么試的?
man iptables
[quote]
   state
       This module, when combined with connection tracking, allows  access  to
       the connection tracking state for this packet.

       --state state
              Where  state  is a comma separated list of the connection states
              to match.  Possible states are INVALID meaning that  the  packet
              could  not  be identified for some reason which includes running
              out of memory and ICMP errors  which  don't  correspond  to  any
              known connection, ESTABLISHED meaning that the packet is associ-
              ated with a connection which has seen  packets  in  both  direc-
              tions, NEW meaning that the packet has started a new connection,
              or otherwise associated with a connection  which  has  not  seen
              packets  in both directions, and RELATED meaning that the packet
              is starting a new connection, but is associated with an existing
              connection, such as an FTP data transfer, or an ICMP error.

作者: wufeiwf    時(shí)間: 2005-08-11 00:01
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
直接用你給的命令試的,其實(shí)這條tcp連接早已經(jīng)斷開(kāi)(客戶端已經(jīng)退出),但是系統(tǒng)一直顯示這條connection是ESTABLISHED狀態(tài),而且很長(zhǎng)時(shí)間都是這樣(兩天),我想用操作系統(tǒng)命令將次狀態(tài)清除。
對(duì)了,如何刪除這條防火墻記錄?這條防火墻記錄已經(jīng)起作用了10.103.4.40已經(jīng)從這臺(tái)服務(wù)器上ping不通了。
作者: platinum    時(shí)間: 2005-08-11 00:17
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
從哪里看到的一直是 ESTABLISHED 且保持 2 天呢?
-I 換成 -D 就是刪除
作者: wufeiwf    時(shí)間: 2005-08-11 00:45
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
看了一下man,刪掉了這條規(guī)則。關(guān)鍵是系統(tǒng)用lsof也能看到這個(gè)連接占用的資源還存在,非常奇怪,都兩天了,這條tcp連接在系統(tǒng)里仍然存在。
[root@ /root]# lsof|grep 7600
s_man_con 24477 xbsystem    7u  IPv4 1402101203                   TCP *:7600 (LISTEN)
s_man_con 24477 xbsystem    8u  IPv4 1403107045                   TCP xbserver:7600->;10.103.4.40:1366 (ESTABLISHED)
作者: platinum    時(shí)間: 2005-08-11 00:50
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
netstat -an|grep "10.103.4.40" 呢?
作者: wufeiwf    時(shí)間: 2005-08-11 00:51
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
因?yàn)槠渌膽?yīng)用都不可能訪問(wèn)這個(gè)端口了,而我一直在監(jiān)控這個(gè)端口上的連接,兩天了沒(méi)有其他應(yīng)用訪問(wèn)到這個(gè)端口,這個(gè)狀態(tài)是我兩天前監(jiān)控到的,兩天沒(méi)有其他的訪問(wèn)到這個(gè)端口一直在用tcpdump監(jiān)控,但是這個(gè)連接在系統(tǒng)里就是沒(méi)有釋放,而且lsof也能看到連接占用的資源。
作者: platinum    時(shí)間: 2005-08-11 01:05
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
netstat -an|grep "10.103.4.40" 呢?我想知道結(jié)果
另外,你說(shuō)用 tcpdump 監(jiān)控,tcpdump 在 iptables 之前運(yùn)作,你用 tcpdump 能說(shuō)明什么問(wèn)題呢?
作者: wufeiwf    時(shí)間: 2005-08-11 01:06
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
# netstat -an|grep 10.103.4.40
tcp        0      0 10.103.4.3:7600         10.103.4.40:1366        ESTABLISHED

# lsof |grep 10.103.4.40|grep 7600
s_man_con 24477 xbsystem    8u  IPv4 1403107045                   TCP xbserver:7600->;10.103.4.40:1366 (ESTABLISHED)

都能夠看到,我倒是可以改進(jìn)server的對(duì)連接的檢測(cè)方式,但是很奇怪系統(tǒng)如何對(duì)這種超長(zhǎng)時(shí)間的tcp連接進(jìn)行處理呢?不可能一直這么保持吧,客戶端早就斷開(kāi)了。
作者: wufeiwf    時(shí)間: 2005-08-11 01:10
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
用tcpdump只想說(shuō)明兩天以來(lái)沒(méi)有其他任何這個(gè)ip的或者其他ip對(duì)端口7600的訪問(wèn),最后一次就是這個(gè)ip的訪問(wèn),而且系統(tǒng)一直把這個(gè)tcp連接的狀態(tài)保持下來(lái)了。你的防火墻規(guī)則當(dāng)然能夠阻止此ip的訪問(wèn),但是不能將系統(tǒng)原來(lái)所維持的tcp連接給去掉,我希望能運(yùn)行某個(gè)命令后,在系統(tǒng)的tcp連接中再也查不到這個(gè)連接,當(dāng)然除了kill server或者重啟網(wǎng)絡(luò)或主機(jī)。
作者: wufeiwf    時(shí)間: 2005-08-11 01:18
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
明天接著頂吧,困了,睡了。謝謝platinum老大。
作者: platinum    時(shí)間: 2005-08-11 08:33
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
# sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=600

然后你再試試,應(yīng)該就好了,默認(rèn) TCP 連接癡呆保持是 120 小時(shí),也就是 5 天
這樣就改成 10 分鐘了,數(shù)值可隨你心意去調(diào)
作者: ericshei    時(shí)間: 2005-08-11 08:43
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
原帖由 "wufeiwf"]謝謝樓上的,但是不解決問(wèn)題。不能把server的監(jiān)聽(tīng)進(jìn)程kill,只能把已經(jīng)建立的tcp連接通過(guò)操作系統(tǒng)命令斷開(kāi),一直沒(méi)有找到思路。[/quote 發(fā)表:



[quote]mail:~# netstat -anp | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      7886/sshd
tcp        0     52 123.123.123.123:22         192.168.4.145:2946       ESTABLISHED 20183/sshd: ericshe


kill 20183 只會(huì)把ESTABLISHED給中斷掉,但原本LISTEN在22 port的sshd還是會(huì)持續(xù)監(jiān)聽(tīng).若這不是您想要的結(jié)果,那就是我會(huì)錯(cuò)意了.
作者: rootclown    時(shí)間: 2005-08-11 09:08
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
can write a program to kill the connection
  use pcap to set a filter ,when the packet is captured
you can construct a ethernet frame to kill the connection use packet socket
作者: wufeiwf    時(shí)間: 2005-08-11 10:42
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
原帖由 "ericshei" 發(fā)表:


kill 20183 只會(huì)把ESTABLISHED給中斷掉,但原本LISTEN在22 port的sshd還是會(huì)持續(xù)監(jiān)聽(tīng).若這不是您想要的結(jié)果,那就是我會(huì)錯(cuò)意了.


那可能是我理解錯(cuò)了,我按閣下方式試一下。
如果是寫(xiě)程序解決就不會(huì)這么費(fèi)勁了,我只想通過(guò)操作系統(tǒng)命令解決。
作者: wufeiwf    時(shí)間: 2005-08-11 10:48
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
不太可能吧,我看了,用netstat -anp | more 看到的pid號(hào)就是server的進(jìn)程號(hào)
# netstat -nap|grep 7600
tcp        0      0 0.0.0.0:7600            0.0.0.0:*               LISTEN      24477/s_man_confirm
tcp        0      0 10.103.4.3:7600         10.103.4.40:1366        ESTABLISHED 24477/s_man_confirm

# ps -ef |grep s_man
xbsystem 24477     1  0 Jun04 ?        00:00:02 ./s_man_confirm
所以如果kill 24477肯定會(huì)將server進(jìn)程kill掉。
作者: wufeiwf    時(shí)間: 2005-08-11 10:49
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
我知道了,這和ssh有區(qū)別,因?yàn)槲业倪@個(gè)server不是用fork子進(jìn)程的方式進(jìn)行服務(wù),是阻塞的方式。
作者: platinum    時(shí)間: 2005-08-11 11:03
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
[quote]原帖由 "wufeiwf"]我知道了,這和ssh有區(qū)別,因?yàn)槲业倪@個(gè)server不是用fork子進(jìn)程的方式進(jìn)行服務(wù),是阻塞的方式。[/quote 發(fā)表:

很感興趣,詳細(xì)說(shuō)一下?
作者: wufeiwf    時(shí)間: 2005-08-11 11:12
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
就是當(dāng)前的server接收到請(qǐng)求后,并不fork一個(gè)子進(jìn)程去完成處理,仍然再server進(jìn)程中處理,此時(shí)如果有其他的請(qǐng)求過(guò)來(lái)只能等待上一個(gè)請(qǐng)求處理完成,是串行服務(wù),不能并發(fā)。你說(shuō)的修改tcp的參數(shù)是一種辦法,但是還是不能解決目前問(wèn)題,我想用操作系統(tǒng)命令立即將此tcp連接從系統(tǒng)中清除,如何做到?
作者: wufeiwf    時(shí)間: 2005-08-11 11:19
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
其實(shí)這個(gè)問(wèn)題困擾我很長(zhǎng)時(shí)間了,我感覺(jué)應(yīng)該能有辦法處理,但是查了很多資料,包括問(wèn)了IBM和HP系統(tǒng)工程師,都沒(méi)有找到辦法。
作者: platinum    時(shí)間: 2005-08-11 11:20
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
kill 掉那個(gè)子進(jìn)程可行嘛?
作者: wufeiwf    時(shí)間: 2005-08-11 11:22
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
我說(shuō)了,我的服務(wù)模式不是fork子進(jìn)程,所有看不到子進(jìn)程,只有server進(jìn)程,和ssh有區(qū)別。如果是fork進(jìn)程的話早就處理了,不用發(fā)帖了。
作者: wufeiwf    時(shí)間: 2005-08-11 11:40
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
原帖由 "platinum" 發(fā)表:
# sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=600

然后你再試試,應(yīng)該就好了,默認(rèn) TCP 連接癡呆保持是 120 小時(shí),也就是 5 天
這樣就改成 10 分鐘了,數(shù)值可隨你心意去調(diào)


這個(gè)超時(shí)的參數(shù)對(duì)嗎?我怎么執(zhí)行時(shí)系統(tǒng)不認(rèn)這個(gè)key,sysctl可以有哪些參數(shù)寫(xiě)入配置,老大如果知道不妨貼出來(lái)。
作者: platinum    時(shí)間: 2005-08-11 11:55
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
哦,可能你需要先加載 ip_conntrack 模塊才可以
# sysctl -a
里面列出的所有參數(shù)基本上都可改
作者: windstar    時(shí)間: 2005-08-11 12:16
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
我在solaris 上面也發(fā)現(xiàn)過(guò)這種問(wèn)題,用ndd命令改了tcp的連接保持時(shí)間也是不起作用的
作者: wufeiwf    時(shí)間: 2005-08-11 13:05
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
ip_conntrack 模塊需要額外下載吧?是rpm包?
作者: platinum    時(shí)間: 2005-08-11 13:27
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
不用,那個(gè)是 netfilter 里面自帶的
modprobe ip_conntrack 即可
作者: wufeiwf    時(shí)間: 2005-08-11 14:43
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
用modprobe加載了,lsmod也能看到ip_conntrack,但是sysctl還是保存不認(rèn)這個(gè)key,用sysctl -a看了,也沒(méi)有net.ipv4.netfilter.ip_conntrack_tcp_timeout_established,和timeout有關(guān)的只有
net.token-ring.rif_timeout = 60000
net.ipv4.route.gc_timeout = 300
net.ipv4.tcp_fin_timeout = 60

sysctl -a|grep netfilter都沒(méi)有輸出項(xiàng)
作者: platinum    時(shí)間: 2005-08-11 14:57
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
你用的是多少內(nèi)核啊?2.6 嘛?
sysctl -a|grep conn,能看到什么?
作者: wufeiwf    時(shí)間: 2005-08-11 16:20
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
內(nèi)核比較低,2.4.18
sysctl -a|grep conn啥也看不到
作者: platinum    時(shí)間: 2005-08-11 16:29
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
RH73 默認(rèn)就使用 2.4.18 的版本,版本是太低了。。。
作者: wufeiwf    時(shí)間: 2005-08-11 16:31
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
還有什么其他途經(jīng)?真是faint,操作系統(tǒng)應(yīng)該有提供命令來(lái)解決這種問(wèn)題吧?
作者: b2linux    時(shí)間: 2005-08-11 20:52
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
不就是要斷開(kāi)連接么?想想TCP的連接過(guò)程吧!講的那么復(fù)雜!又是版本低,又是內(nèi)核舊;改這個(gè),改那個(gè),HP的Engineer不懂,IBM的也不懂,因?yàn)樗麄儾恍枰咚麄兊姆⻊?wù)流程已經(jīng)可以把你累死。

好吧,TCP在沒(méi)有Timeout之前,沒(méi)有RST是不會(huì)斷開(kāi)的,你就想辦法RST就行了嘛。想想Hping吧。
作者: wufeiwf    時(shí)間: 2005-08-12 00:02
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
呵呵,搞來(lái)搞去還是打算自己寫(xiě)個(gè)程序來(lái)搞定,謝謝b2linux的提示。
也謝謝platinum老大關(guān)注。等我搞定了,再來(lái)頂。看來(lái)原來(lái)有點(diǎn)絕對(duì)依賴操作系統(tǒng)命令了。
作者: cppunit    時(shí)間: 2005-08-12 11:55
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
只能說(shuō)明你用的server 程序有問(wèn)題。

這個(gè)server 程序不用 fork方式,我想它用的是select 吧,為了提高效率。

在這個(gè)server的程序中,應(yīng)該有對(duì)端超時(shí)時(shí)的處理,而不是依賴于tcp層。tcp的timeout為什么設(shè)置那么大?因?yàn)閠cp的timeout只希望在遇到“壞”的程序時(shí)才起作用。

這是典型的程序員對(duì)于tcp的經(jīng)驗(yàn)不足。仔細(xì)看看steven的unix網(wǎng)絡(luò)編程吧,說(shuō)的特別清楚。
作者: dragondk    時(shí)間: 2005-08-12 17:06
標(biāo)題: 如何將一個(gè)已經(jīng)創(chuàng)建TCP連接斷開(kāi)?
我記得好象是向這個(gè)端口發(fā)一個(gè)rst包就可以了




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2