@@ -129,7 +129,7 @@ func main() {
129129
130130 dev = devs [* networkDevice ]
131131 } else {
132- dev , err = selectDev ()
132+ dev , err = selectDev (adj . Info . Addresses , config )
133133 if err != nil {
134134 trace .Fatal ().Err (err ).Msg ("Error selecting device" )
135135 }
@@ -354,26 +354,40 @@ func createPid(path string) {
354354 }
355355}
356356
357- func selectDev () (pcap.Interface , error ) {
357+ func selectDev (adjAddr map [ string ] string , conf Config ) (pcap.Interface , error ) {
358358 devs , err := pcap .FindAllDevs ()
359359 if err != nil {
360360 return pcap.Interface {}, err
361361 }
362362
363- cyan := color .New (color .FgCyan )
363+ if conf .Network .Manual {
364+ cyan := color .New (color .FgCyan )
364365
365- cyan .Print ("select a device: " )
366- fmt .Printf ("(0-%d)\n " , len (devs )- 1 )
367- for i , dev := range devs {
368- displayDev (i , dev )
369- }
366+ cyan .Print ("select a device: " )
367+ fmt .Printf ("(0-%d)\n " , len (devs )- 1 )
368+ for i , dev := range devs {
369+ displayDev (i , dev )
370+ }
370371
371- dev , err := acceptInput (len (devs ))
372- if err != nil {
373- return pcap.Interface {}, err
374- }
372+ dev , err := acceptInput (len (devs ))
373+ if err != nil {
374+ return pcap.Interface {}, err
375+ }
375376
376- return devs [dev ], nil
377+ return devs [dev ], nil
378+ } else {
379+ for _ , dev := range devs {
380+ for _ , addr := range dev .Addresses {
381+ if addr .IP .String () == adjAddr ["backend" ] {
382+ println (dev .Name )
383+ return dev , nil
384+ }
385+ }
386+ }
387+
388+ log .Fatal ("backend address not found in any device" )
389+ return pcap.Interface {}, nil
390+ }
377391}
378392
379393func displayDev (i int , dev pcap.Interface ) {
0 commit comments