Probe request capturing with Scapy
Code style

Always mention what exactly you are importing - never use import * - I don't know these libraries and when I read this for the first time I need to find all possible places where these methods can be from: call, sniff. If you want to write code which other people can read - always import exactly what you are using:

from netaddr import *


Be consistent when you are importing: import argparse is imported in main function which is really unnecessary - import on top with other imports.

Also  - this is picky but it is more readable to have imports in alphabetical order and not mixed with other code like logging.getLogger("scapy.runtime").setLevel(logging.ERROR)

String formatting is awful and not-readable:

Instead of:

str(len(clients))+" "+mac+" ("+macf+") //"+" &lt;--Probing--&gt; "+ssid+"\n"


Use format method:

"{0} mac {1}".format(len(clients), macf)


Or - even more readable:

"{length} mac {macf}".format(
    length=len(clients),
    macf=macf,
 )


Much more readable and is actually a standard.

Formatting (indentations) is a bit off - difficult to understand some pieces.

Performance

You have mach is list and you are constantly searching in it. Search in list is O(n). Make is set or dict - will speed it up - search performance becomes O(1).

mach = []
# this check is expensive
if mac not in mach:


Same comment  - for clients list.  

Here - remove condition, just leave else - or maybe your formatting is misleading here and I didn't understand logic correctly:

elif mac not in mach: