2011-02-07 25 views
0

我可以運行系統調用日誌記錄工具。現在我看到的TCP SYN數據包的數量不等於我記錄的connect()系統調用的數量?這可能是什麼原因? 是否有其他系統調用呼叫在內部連接?connect()調用的數量= TCP SYN段數?

回答

1

有各種各樣的原因。

如果connect()由於不可路由的地址而失敗,它可能根本不會生成SYN數據包(例如arp timeout)。同樣,如果連接失敗並出現其他錯誤(例如無效的參數)。

的SYN數據包可能會去你不看(例如本地主機)在接口上

內核將重試;如果沒有對請求的回覆,它會在最終返回超時之前再次嘗試(可能是幾次)。

+0

我在連接調用時間之前看到SYN分段...可能是什麼原因導致這種情況? – Bruce 2011-02-07 14:52:24

相關問題