모든 인터페이스에서 출력을 덤프하려고합니다. 이것이 내가 지금까지 얻은 것입니다.
ifconfig | awk '{print $1}' | sed s'/.$//'
나는 다음과 같은 것을 갖고 싶다.
ifconfig | awk '{print $1}' | sed s'/.$//' | tcpdump -i {} -c 1
여기서 {}는 파이프에서 전달되는 것입니다.
최신 정보:
다음은 ifconfig의 샘플 출력입니다.
em0 : 캡슐화 : 에테르; 프레이밍 : 에테르 플래그 = 0x3 / 0x8000 현재 미디어 : i802 2 : 0 : 0 : 1 : 0 : 4 em0.0 : 플래그 = 0x8000 inet primary person 1500 local = 129.16.0.1 dest = 128.0.0.0 / 2 bcast = 191.255.255.255 tnp primary mtu 1500 local = 17825796
awk는 tcpdump에 전달해야하는 인터페이스 이름을 출력합니다.
위 코드의 동등한 실행은 다음과 같습니다.
tcpdump -i em0
tcpdump -i em0.0
한 줄로 tcpdump로 파이프 아웃하려면 어떻게해야합니까?
ifconfig | grep -Po "^ [^ \ s :] +"| 읽는 동안 if; tcpdump -i $ if; 끝난 # tcpdump -i em0 # tcpdump -i em0.0 tcpdump`ifconfig | grep -Po "^ [^ \ s :] +"| sed "s / ^ /-i /"` # tcpdump -i em0 -i em0.0
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다