Commit Graph

50 Commits

Author SHA1 Message Date
M. Mert Yildiran
a7cd840522 Migrate back from gopacket/tcpassembly to gopacket/reassembly 2021-08-19 19:59:06 +03:00
M. Mert Yildiran
4a8629c63e Re-enable getStreamProps function 2021-08-19 12:12:52 +03:00
Roee Gadot
58deed9eab no message 2021-08-19 09:14:33 +03:00
Roee Gadot
f078aa6c36 remove some unwanted code 2021-08-19 09:12:59 +03:00
M. Mert Yildiran
d7c3b04bcc Set ConnectionInfo in HTTP handlers 2021-08-18 11:14:29 +03:00
M. Mert Yildiran
902b6bff87 Fix the HTTP1 handlers 2021-08-18 10:45:31 +03:00
M. Mert Yildiran
9fd069a4ff Add Emitter interface to the API and send OutputChannelItem(s) to OutputChannel 2021-08-18 10:30:55 +03:00
M. Mert Yildiran
2d188c2dc9 Fix the issues that are introduced by the merge conflict 2021-08-18 09:21:38 +03:00
Roee Gadot
5bd8b1215a small mistake in the conflicts 2021-08-18 08:41:27 +03:00
Roee Gadot
77783a58e9 roee changes -
trying to fix agent to work with the "api" object) - ***still not working***
2021-08-18 08:28:22 +03:00
M. Mert Yildiran
e1267b6c44 Call a function pointer to emit dissected data back to the tap package 2021-08-18 08:11:32 +03:00
M. Mert Yildiran
b1f20fea1e Fix the issues in handleHTTP1ClientStream and handleHTTP1ServerStream 2021-08-18 07:18:22 +03:00
M. Mert Yildiran
c3357aa9ed Bring back the gRPC-HTTP/2 parser 2021-08-18 06:15:16 +03:00
M. Mert Yildiran
6b584c4c3f Return a *api.RequestResponsePair from the dissection 2021-08-17 15:06:27 +03:00
M. Mert Yildiran
9a2edbac56 Bring back the HTTP request-response pair matcher 2021-08-17 14:53:32 +03:00
M. Mert Yildiran
90278bb754 Dissect HTTP response from inside the HTTP extension 2021-08-17 13:49:11 +03:00
M. Mert Yildiran
611c92a6d4 Make the distinction of outbound and inbound ports 2021-08-17 13:40:15 +03:00
M. Mert Yildiran
b384b62ac5 Dissect HTTP request from inside the HTTP extension 2021-08-17 13:24:42 +03:00
M. Mert Yildiran
4e4644d3ce Declare the Dissect function in the extension API 2021-08-17 09:23:19 +03:00
M. Mert Yildiran
5ce85f4162 Set the extension name inside the extension 2021-08-17 09:10:50 +03:00
M. Mert Yildiran
5c0a7d907a Add support of defining multiple ports to the extension API 2021-08-17 08:47:59 +03:00
M. Mert Yildiran
3410a6067c Implement the run() function for the TCP stream 2021-08-17 08:43:16 +03:00
M. Mert Yildiran
bfa9d9960f Start to define the extension API 2021-08-17 07:48:25 +03:00
M. Mert Yildiran
95a9ee7571 Add a build script to automatically build extensions from a known path and load them 2021-08-17 05:56:56 +03:00
M. Mert Yildiran
e1167c4065 Remove github.com/up9inc/mizu/tap/extensions/http/lib 2021-08-17 05:34:59 +03:00
M. Mert Yildiran
2166801910 Remove grpc_assembler.go 2021-08-17 05:19:12 +03:00
M. Mert Yildiran
790ba30654 Replace orcaman/concurrent-map with sync.Map 2021-08-17 05:12:44 +03:00
M. Mert Yildiran
2c7e857075 Move HTTP files into tap/extensions/lib for now 2021-08-17 04:02:48 +03:00
M. Mert Yildiran
648a4d21f3 Move extensions folder into tap folder 2021-08-17 02:34:54 +03:00
M. Mert Yildiran
32a2b8b823 Separate HTTP related code into extensions/http as a Go plugin 2021-08-17 02:33:56 +03:00
Selton Fiuza
dea223bfe1 Feature/tra 3349 validation rules merged with develop (#148)
* Implemented validation rules, based on: https://up9.atlassian.net/browse/TRA-3349

* Color on Entry based on rules

* Background red/green based on rules

* Change flag --validation-rules to --test-rules

* rules tab UI updated

* rules tab font and background-color is changed for objects

* Merged with develop

* Fixed compilation issues.

* Renamed fullEntry -> harEntry where appropriate.

* Change green/red logic

* Update models.go

* Fix latency bug and alignment

* Merge Conflicts fix

* Working after merge

* Working on Nimrod comments

* Resolving conflicts

* Resolving conflicts

* Resolving conflicts

* Nimrod Comments pt.3

* Log Error on configmap creation if the user doesn't have permission.

* Checking configmap permission to ignore --test-rules

* Revert time for mizu to get ready

* Nimrod comments pt 4 && merge develop pt3

* Nimrod comments pt 4 && merge develop pt3

* Const rulePolicyPath and filename

Co-authored-by: Neim <elezin9@gmail.com>
Co-authored-by: nimrod-up9 <nimrod@up9.com>
2021-08-04 09:21:36 -03:00
gadotroee
06c8056443 Tapper stats in stats tracker (#166) 2021-08-04 12:51:51 +03:00
gadotroee
1e726e381b Add option to memory profiling and limit page cache (#158) 2021-08-03 17:30:13 +03:00
RamiBerm
ceb8d714e3 TRA-3420 inform user of tls traffic (#149)
* Update passive_tapper.go and tls_utils.go

* Update go.mod, go.sum, and 18 more files...

* go fmt

* Update http_reader.go, passive_tapper.go, and 3 more files...

* Update status_controller.go and status_provider.go

Co-authored-by: RamiBerm <rami.berman@up9.com>
2021-08-01 14:57:43 +03:00
nimrod-up9
803681a239 Renamed collector, aggregator to api server, api folder to agent (#133)
* Renamed aggregator -> apiServer.

* Format errors with container names.

* Renamed collector -> apiServer.

* Rephrased help messages.

* Moved api -> agent.

* Continue renameing api -> agent in Makefile and Dockerfiles.
2021-07-22 17:17:17 +03:00
nimrod-up9
fbf3d1729e Missing request body (#120)
* Never use harRequest.PostData.Params. Always use harRequest.PostData.Text.

* Comment.
2021-07-19 12:38:28 +03:00
gadotroee
e3049fb5a5 Update passive_tapper log (#103) 2021-07-12 16:05:41 +03:00
gadotroee
ec18d96b45 Infof and Debugf in places we use formatting (#102)
* no message
* no message
2021-07-12 14:53:26 +03:00
gadotroee
f03df50def Change logging to use "rlog" library (#99)
* change logging to use the nice rlog library
* no message
* review fixes
* no message
2021-07-12 14:10:37 +03:00
nimrod-up9
6f47ad862e TRA-3317 Tap and show outbound traffic (#83)
* Tap outgoing: If --anydirection flag is passed with HOST_MODE, tap by source IP.

* Moved ConnectionInfo from http_matcher to http_reader.

* Generalized shouldTap in stream factory to get more properties.

* tap reports IsOutgoing property of tcp connection.

* gofmt.

* CLI instructs tapper to tap outgoing connections.

* API saves IsOutgoing to DB and passes it to UI.

* Add a visual marker in the HAR list for outgoing messages.

* Fixed: Swapped src and dst.

* Resolver keeps a list of all ClusterIP services.

* Do not save HARs with destination ClusterIP services.

* CLI accepts flag that controls traffic direction.

* Indicate incoming/outgoing with icon instead of with border color.

* Fixed: Didn't filter messages to services in aggregator.

* Clearer syntax around the direction icon. Added title text.

* Fixed width around direction icon.

* Less repetition.

* Removed TODO.

* Renamed incoming -> ingoing.

* More verbose title text to image.

* Switched routine order for readability.
2021-06-24 15:10:11 +03:00
nimrod-up9
bc3efc6d4c TRA-3342 Mizu/tap dump to har directory fails on Linux (#71)
* Instead of saving incomplete temp har files in a temp dir, save them in the output dir with a *.har.tmp suffix.

* API only loads har from *.har files (by extension).
2021-06-15 15:51:09 +03:00
nimrod-up9
135b1a5e1e TRA-3212 Passive-Tapper and Mizu share code (#70)
* Use log in tap package instead of fmt.

* Moved api/pkg/tap to root.

* Added go.mod and go.sum for tap.

* Added replace for shared.

* api uses tap module instead of tap package.

* Removed dependency of tap in shared by moving env var out of tap.

* Fixed compilation bugs.

* Fixed: Forgot to export struct field HostMode.

* Removed unused flag.

* Close har output channel when done.

* Moved websocket out of mizu and into passive-tapper.

* Send connection details over har output channel.

* Fixed compilation errors.

* Removed unused info from request response cache.

* Renamed connection -> connectionID.

* Fixed rename bug.

* Export setters and getters for filter ips and ports.

* Added tap dependency to Dockerfile.

* Uncomment error messages.

* Renamed `filterIpAddresses` -> `filterAuthorities`.

* Renamed ConnectionID -> ConnectionInfo.

* Fixed: Missed one replace.
2021-06-14 13:22:44 +03:00
gadotroee
0d277faaf8 API and TAP in single process (#24)
* no message
* no message
2021-05-02 15:00:53 +03:00
nimrod-up9
e932a340e3 Only record traffic of the requested pod. Filtered by pod IP. (#21) 2021-04-29 18:19:59 +03:00
gadotroee
96a6ac3251 Small fixes - permission + har writing exception (#17) 2021-04-29 15:05:03 +03:00
Roee Gadot
318247ea73 no message 2021-04-29 10:16:57 +03:00
Roee Gadot
0cfc32cb35 do not return true in the should tap function 2021-04-29 08:23:20 +03:00
Roee Gadot
b01fe9c918 no message 2021-04-28 17:54:32 +03:00
nimrod-up9
7d8655feab Add tap as a separate executable (#10)
* Added tap.

* Ignore build directories.

* Added tapper build to Makefile.
2021-04-28 14:21:39 +03:00
Alex Haiut
f0859b9277 folder structure 2021-04-19 13:53:48 +03:00