修复 client端抓包,client的 IP显示不准确的 bug
This commit is contained in:
parent
bfe9782583
commit
b74b4fed20
|
@ -158,10 +158,14 @@ func (nc *networkCard) parseTCPPackage(packet gopacket.Packet, authHeader *pp.He
|
||||||
clientIPContent := authHeader.SourceAddress.String()
|
clientIPContent := authHeader.SourceAddress.String()
|
||||||
clientIP = &clientIPContent
|
clientIP = &clientIPContent
|
||||||
clientPort = int(authHeader.SourcePort)
|
clientPort = int(authHeader.SourcePort)
|
||||||
|
|
||||||
|
} else {
|
||||||
|
clientIP = &srcIP
|
||||||
|
clientPort = srcPort
|
||||||
}
|
}
|
||||||
|
|
||||||
// deal mysql server response
|
// deal mysql server response
|
||||||
err = readToServerPackage(clientIP, clientPort, &srcIP, srcPort, tcpPkt, nc.receiver)
|
err = readToServerPackage(clientIP, clientPort, &srcIP, srcPort, &dstIP, tcpPkt, nc.receiver)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -211,7 +215,7 @@ func readFromServerPackage(
|
||||||
}
|
}
|
||||||
|
|
||||||
func readToServerPackage(
|
func readToServerPackage(
|
||||||
clientIP *string, clientPort int, srcIP *string, srcPort int, tcpPkt *layers.TCP,
|
clientIP *string, clientPort int, srcIP *string, srcPort int, destIP *string, tcpPkt *layers.TCP,
|
||||||
receiver chan model.QueryPiece) (err error) {
|
receiver chan model.QueryPiece) (err error) {
|
||||||
defer func() {
|
defer func() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -239,7 +243,7 @@ func readToServerPackage(
|
||||||
sessionKey := spliceSessionKey(srcIP, srcPort)
|
sessionKey := spliceSessionKey(srcIP, srcPort)
|
||||||
session := sessionPool[*sessionKey]
|
session := sessionPool[*sessionKey]
|
||||||
if session == nil {
|
if session == nil {
|
||||||
session = sd.NewSession(sessionKey, clientIP, clientPort, srcIP, srcPort, localIPAddr, snifferPort, receiver)
|
session = sd.NewSession(sessionKey, clientIP, clientPort, srcIP, srcPort, destIP, snifferPort, receiver)
|
||||||
sessionPool[*sessionKey] = session
|
sessionPool[*sessionKey] = session
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue