tcpcopy填坑實踐。

2021-07-28 00:10:12 字數 977 閱讀 8441

準備搭建tcpcopy引流測試新架構。    

我現在target測試機上面配置route, route add -net 1.1.1.0 netmask 255.255.255.0 gw 輔助測試機ip。

本意乃是想把線上的流量重寫**為1.1.1.x,  發到測試機做區分。

隨後分別啟動丟包機與線上機tcpcopy程式。  

/usr/local/tcpcopy/sbin/tcpcopy -x source_port-target_ip:target_port -s intercept_ip -c 1.1.1.x -l ./logs -d

/usr/local/intercept/sbin/intercept -i eth0 -f 'tcp and src port target_port' -d -l ./logs

最後tcpdump -annls0 -i eth0 tcp port target_port檢視引流是否成功,  悲劇的發現沒有任何流量。

在我搞了一天半以後也沒有解決。  中途發現tcpcopy的logs報錯many connections cant established   && intercept埠為36524.  && intercept機器需要開啟ip**等等。

最後找人幫忙解決,  對方先在三颱機器分別抓包, 發現鏈結沒成功。 最後讓我換台機器試下, 於是我把線上機器換了一台和測試機同一地區同一運營商的機器,  發現直接成功了。然後對方回去找stackoverflow後, 告訴我把-c換成線上伺服器網段試試, 

我更改route和tcpcopy -c 後,發現成功了。   結論就是不同地區不同運營商的-c必須設定乙個能ping通的才行。

我其實最想記錄的就是, 這個問題我也應該能解決。     首先,  以後需要把所有可能的排查記到本上, 一條一條劃,  排除了不可能之後, 剩下的所有可更改的地方都可以當做排查點。   其次, 了解原理之後再來想問題會得到新的排查目標。   最後, 基礎知識能幫助你看破很多問題&&死之前不要問別人。

MySQL坑與填坑

錯誤 1064 錯誤 1215 原因 資料型別不同 錯誤 1630 去掉函式名和 間的空格 check 關鍵字無效 使用列舉或觸發器 特定字串約束 使用列舉 課程性質 char 10 constraint c5 check 課程性質in 公共基礎 專業基礎 專業選修 任意選修 課程性質 enum 公...

ubuntu linux 填坑集合

坑1 failed to load ldlinux.c32 剛安裝就遇到乙個大坑。使用u盤安裝的,啟動的時候提示 failed to load ldlinux.c32 ubuntu 16.04 lts。解決辦法,以前的ultraiso版本是9.6.2,換成9.6.5就可以了。坑2 unity更換成g...

C 填坑之路

error lnk2019 無法解析的外部符號 declspec dllimport public th 此種問題 一般就是沒有鏈結lib庫 strlen 在計算字串長度的時候不計算 0,sizeof計算字串長度的時候會計算 0 memcpy buff,data,size size多大,就拷貝多少,...